מצ"ב קישור להגדרות הAPI למערכות ימות המשיח.
מפתחים  מוזמנים להשתמש.


API גישת מפתחים למערכות
הAPI המפורסם כאן נותן אפשרות לניהול המערכת שלא דרך אתר הניהול אלא בצורה עצמאית. הדבר מיועד עבור מפתחים המעוניינים להתממשק בצורה אוטומטית עם המערכת. אין כל קשר בין הAPI הזה למודול API
בכל פעולה בAPI יש 2 חלקים. חלק ראשון - שליחת בקשה לשרת. חלק שני - תשובה מהשרת.
חלק ראשון: שליחת בקשה לשרת
את הבקשות ניתן לשלוח לכתובת:
https://www.call2all.co.il/ym/api/

או לכתובת:
https://private.call2all.co.il/ym/api/

אין הבדל בין הכתובות.
בדוגמאות להלן הכתובת הבסיסית תושמט ובמקומה יופיע {url}$
את כל הבקשות (למעט העלאת קבצים) ניתן לשלוח בGET או בPOST
בבקשות POST ניתן לשלוח את הפרמטרים כJSON בתוך הbody. כמובן יש לציין בפניה Content-Type=application/json.
הבקשה מורכבת מ2 חלקים. חלק 1 פקודה חלק 2 פרמטרים.
לדוגמה: הפקודה להורדת קובץ היא DownloadFile והפרמטרים הנדרשים הם token path
במקרה כזה הבקשה בGET תראה כך:
${url}DownloadFile?token=${token}&path=${path}
ובצורה פשוטה יותר
https://www.call2all.co.il/ym/api/DownloadFile?token=077000000:1234&path=ivr2:/1/1/000.wav

בהמשך נביא את כל הפקודות הקיימות.
חלק שני: התשובה מהשרת
כל התשובות מהשרת (למעט הורדת קבצים) מקודדות בפורמט JSON וכוללות את המידע בנוגע לבקשה. בהמשך נביא את סוגי התשובות הקיימות עבור כל בקשה.
בנוסף, בכל תשובה יכללו המאפיינים הבאים:
yemotAPIVersion – גרסת הAPI הנוכחית (עשוי לשמש לאיתור בעיות תאימות עם גרסאות עתידיות)
responseStatus – מידע אודות הפעולה המבוקשת. אם הפעולה המבוקשת הושלמה בהצלחה, הערך יהיה OK אם הפעולה נכשלה, הערך יהיה ERROR ערך FORBIDDEN פירושו שהבקשה הייתה אסורה על ידי השרת, ערך EXCEPTION פירושו שהבקשה גרמה לחריג בשרת.
מאפיינים נוספים הנשלחים בחלק מהבקשות
message - הסבר על הפעולה שבוצעה או הסבר על השגיאה.
messageCode - קוד שגיאה. להלן יובאו כל סוגי הקודים הקיימים. אם במקום קוד שגיאה התקבל הערך null אירעה שגיאה כללית.
דוגמה לתשובה מהשרת עם הודעת שגיאה:
{
"yemotAPIVersion": "1",
"responseStatus": "ERROR",
"message": "Username or password is incorrect",
"messageCode": 1
}

בדוגמה זו, גירסת הAPI היא 1, הפעולה נכשלה, הסבר על השגיאה זמין במאפיין 'message' קוד השגיאה הוא 1.
הזדהות מול הAPI:
ההזדהות מול ה API היא על ידי פרמטר token, או - מומלץ - לשלוח את הטוקן בכותרת (header) בשם authorization.
יש שתי סוגי טוקנים:
טוקן קבוע API KEY - מפתח שנוצר באמצעות ממשק ״חומת האש״.
לתיעוד מלא והסברים על ממשק חומת האש: https://f2.freeivr.co.il/post/167806
 מושלם בשביל שימוש אמיתי ב API בסקריפטים או שירותים שרצים בסביבת שרת.
הסבר על טוקן מסוג API KEY:



#
#
הערה





טוקן קבוע שאינו משתנה




לא פג תוקף אף פעם




ניתן להגדיר הגבלות, כתובות IP מאושרות, הגבלות שירותים ועוד




לא דורש אימות דו-שלבי לשימוש לאחר היצירה שלו




דורש הכנה מראש ופעולה ייזומה של בעל המערכת כדי להנפיק את הטוקן




לא ניתן לבצע אימות קשיח במפתח API ולכן לא ניתן לבצע פעולות שדורשות את זה




טוקן משתנה - נותן על ידי שימוש בפקודת Login - טוקן זמני שמייצג סשן ספציפי.
יצירת הטוקן מתבצעת על ידי קריאה לשירות התחברות-Login
 מיועד בעיקר לממשקים שבהם הלקוח צריך להתחבר לאיזה מערכת שהוא רוצה, ושניתן להפנות אותו במידת הצורך לביצוע אימות דו-שלבי.
הסבר על טוקן זמני שמתקבל בשימוש עם Login:



#
#
הערה





טוקן משתנה - מייצג סשן ספציפי




פג תוקף עם חוסר שימוש, וגם בשימוש תמיד - יפוג לאחר זמן מסויים




מחייב מעבר אימות דו שלבי, בפועל - או על ידי פטור של כתובת IP וכו




אין צורך בהכנה מראש על ידי בעל המערכת, הלקוח פשוט מכניס את מספר המערכת והסיסמה שלו




ניתן לבצע אימות קשיח לטובת גישה לשירות הדורשים את זה




הצורך בביצוע אימות דו שלבי:
כל סשן שנוצר באמצעות שירות Login צריך לעבור אימות דו שלבי, או להיות פטור ממנו.
כאשר מגיעה בקשת API מסשן שלא עבר אימות דו שלבי - התגובה תיהיה:
מאפייני תגובת השרת:



מאפיין
סוג
ערך




responseStatus
string
ERROR / FORBIDDEN


message
string
MFA_REQUIRED 



ניתן לעיין בנושא בפוסטים הבאים לטובת הסבר על הנושא לעומק:
תיעוד API לביצוע אימות דו-שלבי: https://f2.freeivr.co.il/post/159985
הודעה על הפעלת אימות דו-שלבי: https://f2.freeivr.co.il/post/159438
פיתרון ל״אקטיבציה״ של סשן באמצעות ממשק האתר (כפיתרון זמני): https://f2.freeivr.co.il/post/160074
הפונקציות האפשריות בממשק הAPI:
בגדול כמעט כל הדברים שאפשר לעשות דרך האתר אפשר גם בAPI (הפעלת קמפיינים שינוי שלוחות ניהול קבצים ועוד)
במדריך זה נחלק את האפשרויות ל3 חלקים.
חלק 1  התחברות למערכת והגדרות כלליות - שינוי סיסמה העברת יחידות עדכון פרטי משתמש ועוד
חלק 2 ניהול קמפיינים - הגדרת קמפיינים, הפעלת קמפיין עדכון מספרים ועוד.
חלק 3 מערכת תוכן - ניהול הקבצים והשלוחות במערכת.
חלק 1 התחברות למערכת והגדרות כלליות
התחברות-Login
התנתקות-Logout
פרטי המערכת-GetSession
שינוי סיסמת ניהול-SetPassword
עדכון פרטי משתמש-SetCustomerDetails
קבלת רשימת חיובי יחידות-GetTransactions
העברת יחידות-TransferUnits
קבלת רשימת שיחות נכנסות-GetIncomingCalls
העלאת קובץ-UploadFile
הורדת קובץ-DownloadFile
חלק 2 ניהול קמפיינים
קבלת מצב כל תבניות הקמפיינים-GetTemplates
עדכון תבנית קמפיין-UpdateTemplate
העלאת והורדת קבצי שמע לקמפיין
ניהול קבצי שמע בקמפיין (העתקה העברה או מחיקה)
יצירת תבנית קמפיין חדשה-CreateTemplate
מחיקת תבנית קמפיין-DeleteTemplate
הצגת המספרים שברשימת התפוצה-GetTemplateEntries
עדכון מספר בודד ברשימת תפוצה-UpdateTemplateEntry
עדכון סטטוס או מחיקה של מספרים מרשימת התפוצה-UpdateTemplateEntries
מחיקת כל המספרים מרשימת התפוצה-ClearTemplateEntries
העלאת קובץ טקסט והפיכתו לרשימת טלפונים לתבנית קמפיין-UploadPhoneList
הפעלת קמפיין-RunCampaign
מצב הקמפיין-GetCampaignStatus
הורדת דו"ח קמפיין-DownloadCampaignReport
קבלת קמפיינים פעילים-GetActiveCampaigns
ביצוע פעולות בקמפיינים פעילים-CampaignAction
יצירת קמפיין מתוזמן-ScheduleCampaign
קבלת קמפיינים מתוזמנים-GetScheduledCampaigns
מחיקת קמפיין מתוזמן-DeleteScheduledCampaign
חלק 3 מערכת תוכן
קבלת מידע מלא על השלוחה-GetIVR2Dir
קבלת מידע כללי על שלוחה - GetIVR2DirStats
קבלת מידע על קובץ בודד -GetFile
ניהול קבצים (שינוי שם, העתקה, העברה ומחיקה)-FileAction
העלאת קבצים- ראה ערך UploadFile
הורדת קבצים - ראה ערך DownloadFile
קבלת תוכן קובץ טקסט-GetTextFile
העלאת טקסט לקובץ-UploadTextFile
עדכון סוג שלוחה-UpdateExtension
הכוונת שיחה - העברת מאזין באפשרות הראשונה לשלוחה אחרת או לניתוק - CallAction
ניהול חדרי ועידה-CallAction
שינוי השפה בערוץ
קבלת סיכום דקות נכנסות למערכת לפי טווח תאריכים-GetIncomingSum
קבלת לוג סמסים יוצאים-GetSmsOutLog
פעולות הנוגעות באבטחה של המערכת. צפיה בלוג התחברויות, ניתוק סשנים
ValidationToken  |  DoubleAuth  | GetLoginLog  | GetAllSessions | KillSession | KillAllSessions
הפעלת צינתוק-RunTzintuk
בדיקה האם קובץ קיים-CheckIfFileExists
שליחת SMS מהמערכת-SendSms
הקמת שיחת גישור-CreateBridgeCall
קבלת מידע בזמן אמת על שלוחת תור-GetQueueRealTime
קבלת מידע על המערכת - GetCustomerData
שליחת פקס-SendFax
קבלת דוח קמפיין-ViewCampaignReports
מערכת תזמון משימות
GetTasks | GetTasksData | CreateTask | UpdateTask | DeleteTask
הוספה ואימות של זיהוי ספיישל-ValidationCallerId
שליחת קמפיין הודעת TTS
הפקת דוח מקובץ ymgr (דוחו"ת)-RenderYMGRFile
פירוט תנועות ביחידות סמסים
שינוי שימוש (usage) של מספר משנה
בדיקה האם תיקייה קיימת
חשבונות ומערכת sip
ניהול תור אונליין
ניהול רשימות צינתוקים במודול צינתוקים חינמיים-TzintukimListManagement
ניהול פרסומפון
הפעלת קמפיין הנכנס לשלוחה במערכת
קבלת רישומים לחשבון SIP
קבלת כל חשבונות הSIP במערכת האם הם רשומים בשרת
קבלת זיהויים מאושרים במערכת להוצאת שיחות/סמסים
בדיקת זיהוי האם הוא מאושר לשימוש בשיחה/סמס
קבלת SMS שהתקבלו במערכת
ניהול/ביצוע אימות דו-שלבי/בדיקת האם הסשן עבר אימות דו-שלבי/ניסיון ביצוע אימות דו-שלבי/קבלת שיטות אימות זמינות/שליחת אימות/הוספה וניהול שיטות אימות/הוספה וניהול כתובות IP לבנות/ניהול אסימוני ״זכור אותי״
מוניטור SIP בזמן אמת - מערכת SiP_panel - SipRealtimeMonitor


התחברות
הסבר: בכל הבקשות הנשלחות לשרת יש צורך בפרמטר token שמשמש כקוד התחברות למערכת
כאשר תשלחו פקודת Login תקינה, תקבלו בחזרה פרמטר token  שאת הערך שלו עליכם לציין כשאתם שולחים כל פקודת API.
ראה להלן דרך נוספת
הפקודה היא -Login
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




username
מספר מערכת


password
סיסמת הניהול של המערכת



מאפייני תגובת השרת:



מאפיין
ערך
הערה




token
טוקן
הטוקן שנוצר יפוג לאחר 30 דקות אם לא תתבצע שיחת API עם הטוקן. כמו כן, כל עוד הטוקן תקף יש להשתמש בו ולהימנע מבקשת התחברות נוספת


התנתקות
מחיקת הטוקן שהתקבל בהתחברות
הפקודה היא - Logout
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




token
טוקן



אין מאפיינים מיוחדים בתגובת השרת


קבלת פרטי המערכת
הפקודה היא - GetSession
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




token
טוקן



מאפייני תגובת השרת:



מאפיין
סוג
ערך




name

שם לקוח


unitsExpireDate
string
תאריך תפוגה של היחידות


email

כתובת אימייל


organization

שם ארגון


contactName

שם איש קשר


phones

טלפון


invoiceName

חשבונית על שם


invoiceAddress

כתובת למשלוח חשבונית


fax

פקס


accessPassword

סיסמת גישה למערכת


units
double
כמות היחידות שבמערכת


recordPassword

סיסמת הקלטות


creditFile

שם משווק


username
string
מספר המערכת


שינוי סיסמת ניהול
הפקודה היא - SetPassword
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




token
טוקן


password
סיסמת הניהול הנוכחית


newPassword
סיסמה חדשה



אין מאפיינים מיוחדים בתגובת השרת


עדכון פרטי משתמש
הערה: הפקודה מוחקת את פרטי המשתמש המעודכנים במערכת.
הפקודה היא - SetCustomerDetails
הפרמטרים הנדרשים:



פרמטר
תיאור




token
טוקן פרמטר חובה


name
שם לקוח


email
כתובת דוא"ל


organization
שם ארגון


contactName
שם איש קשר


phones
טלפון


invoiceName
חשבונית על שם


invoiceAddress
כתובת למשלוח חשבונית


fax
פקס


accessPassword
סיסמת גישה


recordPassword
סיסמת הקלטות



אין מאפיינים מיוחדים בתגובת השרת


קבלת רשימת חיובי יחידות
היסטוריה של תנועת יחידות במערכת (כולל דוחות קמפיינים שהסתיימו)
הפקודה היא - GetTransactions
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן
חובה


from
מאיזה תנועה להציג
רשות


limit
מספר מרבי של תנועות שיש לכלול
רשות


filter
סינון תוצאות לפי סוג פעולה
campaigns עבור חיובי קמפיינים



מאפייני תגובת השרת:



מאפיין
סוג
ערך




transactions
array
מערך אובייקטים (ראה "תבנית אובייקט תנועה" להלן)


totalCount
int
מספר כולל של תנועת יחידות



תבנית אובייקט תנועה



מאפיין
סוג
ערך




id
int
מזהה תנועה ייחודי


transactionTime
string
תאריך ושעה (פורמט: yyyy-MM-dd HH:mm:ss)


amount
double
סכום היחידות


description
string
תיאור העסקה. ראה להלן מילות מפתח מיוחדות


who
string
בוצע על ידי:   1) כתובת IP במידה והפעולה בוצעה דרך אתר האינטרנט.   2) מספר טלפון במידה והפעולה בוצעה דרך הטלפון.   3) ADMIN במידה והפעולה בוצעה על ידי שירות הלקוחות.   4) TRANSFER במקרה של העברת יחידות.   5) expire במקרה של פג תוקף.


newBalance
double
כמות יחידות מחודשת לאחר התנועה


expireDate
string
במידה וקיים תאריך תפוגה חדש הוא יופיע בערך זה (בפורמט: yyyy-MM-dd). במידה ולא קיים יתקבל הערך null


campaignId
string
במידה והתנועה שבוצעה היתה הפעלת קמפיין יופיע בערך זה מזהה הקמפיין המתאים (משמש להורדת דוח הקמפיין). במידה ולא, יתקבל הערך null



מילות מפתח מיחדות למאפיין description שניתן להשתמש בהן כדי לזהות סוגי פעולות



תיאור המתחיל ב
פירושו




Start-
חיוב עבור הפעלת קמפיין


transfer to
חיוב עבור העברת יחידות למערכת אחרת


transfer from
יחידות שנוספו בהעברה ממערכת אחרת


Units expired
פג תוקף היחידות


העברת יחידות
העברת יחידות למערכת אחרת
הפקודה היא - TransferUnits
הפרמטרים הנדרשים:



פרמטר
תיאור/הערות




token
טוקן


destination
מספר מערכת להעברה


amount
כמות יחידות להעברה



מאפייני תגובת השרת במקרה שהעברה בוצעה בהצלחה:



מאפיין
סוג
ערך




destination
string
מערכת היעד אליה בוצעה ההעברה


amount
double
הסכום שהועבר


newBalance
double
יתרת היחידות במערכת המקור לאחר ביצוע ההעברה



במקרה של שגיאה בביצוע ההעברה ההודעות והקודים האפשריים הם כדלקמן:



messageCode
message
הסבר




111
Bad destination
יעד להעברה לא חוקי: המערכת אינה קיימת או שאינה מורשית לקבל יחידות ממערכת זו


112
Bad amount
סכום היחידות להעברה אינו חוקי


113
Not enough balance
יתרת היחידות שבמערכת אינה מאפשרת את ביצוע ההעברה


קבלת רשימת שיחות הפעילות במערכת
הפקודה היא - GetIncomingCalls
הפרמטרים הנדרשים:



פרמטר
תיאור/הערות




token
טוקן



מאפייני תגובת השרת:



מאפיין
סוג
הסבר




calls
array
מערך אובייקטים (ראה "תבנית אובייקט שיחה" להלן)


callsCount
int
מספר כולל של שיחות במערכת



תבנית אובייקט שיחה



מאפיין
ערך




did
מספר מחוייג


callerIdNum
מספר מחייג (כולל ערכים של ID val_name במידה וקיים במערכת)


duration
משך זמן שיחה - בשניות


transferFrom
האם השיחה הועברה ממערכת אחרת. במידה וכן יופיע הערך מועבר במידה ולא יפיע הערך null


id
מזהה ייחודי לאורך השיחה


path
מספר שלוחה (כולל תיאור שלוחה ומספר קובץ במידה וקיים)


העלאת קובץ

הפקודה היא - UploadFile

מתודת פניה
יש לפנות ב-HTTP POST בפורמט multipart/form-data. (פרמטרים כמו token path וכדומה ניתן לצרף בגוף הפנייה או במחרוזת השאילתה כמו בבקשת GET)
שימו לב! ניתן לעלות קובץ בודד בכל פנייה.
חשוב לשים לב שיש מגבלה על גודל הקובץ שאפשר לעלות בבקשה אחת (נכון לתאריך 28/09/2022 המגבלה היא 50MB) ולכן אם הקובץ שלכם שוקל יותר מזה, צריך לפצל את הקובץ ולהעלות אותו בחלקים נפרדים וכפי שיובא להלן.

הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
חובה


path
נתיב להעלאה
חובה. עבור העלאת קבצים לתיקיות במערכת יש לציין בהתחלה ivr2: ולאחר מכן את הנתיב המלא. למשל לקובץ 000.wav בתיקייה 5 הנתיב יהיה ivr2:5/000.wav. שימו לב שבהעלאה רגילה חובה לציין את שם הקובץ הרצוי, בהעלאה עם מספור אוטומטי (ראה להלן) יש לציין את התיקייה בלבד


convertAudio
המרת הקובץ
בוליאני (1/0). ברירת המחדל היא ללא המרה. אם convertAudio = 1, הקובץ שהועלה יומר אוטומטית לפורמט wav המתאים לטלפוניה. קובץ המקור יכול להיות בכל אחד מפורמטי האודיו הפופולריים (MP3, OGG, WMA וכו '). הערה: פרמטר הנתיב חייב להיות בשם של קובץ היעד לאחר ההמרה (כך שהוא חייב להיות עם סיומת .wav)


autoNumbering
מספור אוטומטי
כנ"ל


tts
הצהרה על קובץ tts
בוליאני (1/0). נצרך במקרה של מספור אוטומטי לקבצי tts כדי שהמערכת לא תתן לקובץ את הסיומת wav אלא tts



פיצול קובץ לחלקים נפרדים והעלאה לשרת
שלב א' - העלאת הקבצים



פרמטר
תיאור
דוגמה




qquuid
ID יש ליצור באופן רנדומלי לפני הבקשה הראשונה
2017390a-60cf-44ea-822f-27017c13de69


qqpartindex
אינדקס העלאה
1


qqpartbyteoffset
עד כה עלה ללא הבקשה הנוכחית בבתים
4000000


qqchunksize
גודל הבקשה הנוכחית בבתים
4000000


qqtotalparts
סה"כ חלקים לביצוע (מתחיל ב0 כולל הבקשה האחרונה של החיבור)
8


qqtotalfilesize
גודל כולל של הקובץ בבתים
29863882


qqfilename
השם המקורי של הקובץ
בוקר טוב.mp3


qqfile
מקטע של הקובץ שאותו אנחנו מעלים בבקשה הנוכחית
(קובץ)


uploader
מחלקה שמבצעת את העלאה
yemot-admin



שלב ב' - סיום העלאה ובקשת חיבור לקבצים
בסיום העלאה יש לפנות אל - UploadFile?done
הפרמטרים שיש לצרף לבקשה



פרמטר
תיאור
דוגמה




token
טוקן
כנ"ל


path
נתיב
כנ"ל


convertAudio
המרת אודיו
כנ"ל


autoNumbering
מספור אוטומטי
כנ"ל


tts
קובץ tts
כנ"ל


qquuid
ID של מזהה הפעולה
2017390a-60cf-44ea-822f-27017c13de69


qqfilename
שם מקורי
בוקר טוב.mp3


qqtotalfilesize
גודל כולל
29863882


qqtotalparts
סך הכל חלקים
8




מאפייני תגובת השרת:



מאפיין
סוג
הסבר




path
string
נתיב הקובץ שהועלה, כפי שהועבר על ידי פרמטר הנתיב


size
long
גודל הקובץ שהועלה בבייטים



אם convertAudio = 1, יוחזרו בתגובה מאפיינים נוספים :



מאפיין
סוג
הסבר




convertedSize
long
גודל קובץ ה- WAV שהומר בבייטים


duration
double
משך האודיו בשניות



במקרה של שגיאה בביצוע ההעברה ההודעות והקודים האפשריים הם כדלקמן:



messageCode
message
הסבר




105
System error
שגיאה כללית במהלך הטיפול בהעלאה


107
File upload expected
לא נמצאה קובץ להעלאה בבקשה


108
Only single upload per request is supported
הועלה יותר מקובץ אחד בבקשה אחת


109
path is required
דרוש נתיב


110
path is invalid
הנתיב אינו חוקי




על מנת לבדוק העלאות HTTP ניתן להשתמש בטופס פשוט זה:
https://www.call2all.co.il/ym/api_upload_test.php


הורדת קובץ
הפקודה היא - DownloadFile
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



path
שם הקובץ להורדה
בהמשך יפורט איך לציין את הנתיב של כל קובץ



מאפייני תגובת השרת:
במידה והקובץ קיים - התגובה תכיל את את תוכן הקובץ המבוקש.
במידה והקובץ לא קיים או שהתרחשה שגיאה - התגובה תהיה HTTP 404 Not Found.
הערה: שימו לב שהתגובה לבקשה זו אינה JSON (בשונה משאר הבקשות)


קבלת מצב כל תבניות הקמפיינים
הפקודה היא - GetTemplates
הפרמטרים הנדרשים



פרמטר
תיאור / הערות




token
טוקן



מאפייני תגובת השרת:



מאפיין
סוג
הסבר




templates
array
מערך אובייקטים (ראה "אובייקט מזהה תבנית" להלן)



אובייקט מזהה תבנית:



מאפיין
סוג
ערך
הערות




templateId
int
מזהה התבנית
שימו לב לא מדובר במספר הסידורי כמו שמופיע באתר


description
string
תיאור התבנית
במידה ולא מוגדר יתקבל הערך null


callerId
string
זיהוי שיחה יוצאת



entriesCount
int
כמות המספרים שברשימת התפוצה
פעילים וחסומים


blockedEntriesCount
int
כמות המספרים החסומים



incomingPolicy
enum
מדיניות שיחות נכנסות. ישנם 4 מצבים OPEN BLACKLIST WHITELIST BLOCKED
רלוונטי לקמפיין ברירת המחדל בלבד


customerDefault
boolean
האם מדובר בקמפיין ברירת המחדל
במידה וכן, יופיע הערך true (-נכון). במידה ולא, יופיע הערך false (-שקר  )


maxActiveChannels
int
הגבלת קווים מחייגים
מספר מקסימלי של שיחות פעילות בו זמנית בקמפיין


maxBridgedChannels
int
הגבלת קווים מנותבים
מספר מקסימלי של שיחות מנותבות בו זמנית למספר המוגדר בערך bridgeTo. אם מספר הקווים המנותבים מגיע למספר המוגדר כאן, החיוגים בקמפיין ייעצרו עד שמספר הקווים המנותבים ירד. ערך 0 בשדה זה פירושו שאין הגבלת מספר קוים מנותבים


originateTimeout
double
זמן חיוג מקסימלי - בשניות
זמן מקסימלי מתחילת החיוג למספר עד למענה השיחה. שיחה שלא נענתה עד זמן זה תירשם בדו"ח כשיחה שנכשלה מסיבת "אין מענה". במידה ומוגדר במערכת מדיניות חיוגים חוזרים באין מענה, המערכת תנסה לחייג שוב למספר שלא נענה בהתאם להגדרה הרלוונטית


vmDetect
boolean
האם האפשרות של זיהוי תא קולי מופעלת
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


filterEnabled
boolean
האם האפשרות של קמפיין ממספרים אישיים מופעלת
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


maxDialAttempts
int
ניסיונות חיוג
מספר מקסימלי של נסיונות חיוג שיבוצעו לאותו מספר בהתאם למדיניות חיוגים חוזרים המוגדרת לקמפיין


redialWait
int
המתנה בין נסיונות חיוג - בשניות
זמן המתנה מינימלי בשניות בין נסיונות חיוג לאותו מספר


redialPolicy
enum
מדיניות חיוגים חוזרים. ישנם 3 מצבים - NONE CONGESTIONS FAILED
NONE - ללא חיוג חוזר. CONGESTIONS - במידה ולא זמין. FAILED במידה ואין מענה


yemotContext
enum
סוג הקמפיין. ישנם 6 מצבים - SIMPLE REPEAT MESSAGE VOICEMAIL BRIDGE OTHER
SIMPLE - השמעת הודעה בלבד. REPEAT - השמעה חוזרת של ההודעה בהקשה על 1 ואישור קבלת ההודעה בהקשה על 7. MESSAGE - שליחת הודעה בדוא"ל בהקשה על 1. VOICEMAIL - השארת הודעה בתא קולי בהקשה על 1 שימו לב! באופן זמני התא הקולי בוטל. BRIDGE - ניתוב שיחה למענה אנושי. OTHER - הגדרה מיוחדת


bridgeTo
string
מספר הטלפון לניתוב
במידה והקמפיין מוגדר כניתוב שיחה למענה אנושי


playPrivateMsg
boolean
האם האפשרות של מצב הודעה פרטית מופעלת
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


messageExists
boolean
האם קיימת הודעת קמפיין
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


messageDuration
double
אורך הודעת הקמפיין - בשניות



unitsPerMessage
double
עלות משוערת ביחידות עבור כל הודעה שמשוגרת



moreinfoExists
boolean
האם קיימת הודעה לפני ניתוב (הודעה המושמעת אחרי שמקבל השיחה לחץ 1)
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


moreinfoDuration
double
אורך הודעת הניתוב - בשניות



removeRequest
enum
אפשרויות הסרה. קיימים 2 מצבים - SILENT WITH_MESSAGE
SILENT - הסרה בלחיצה על 9 ללא הודעה. WITH_MESSAGE - הסרה בלחיצה על 9 + הודעה סטנדרטית


עדכון תבנית קמפיין
הערה: רק ההגדרות שסופקו יעודכנו, ההגדרות שהושמטו לא ישתנו.
הפקודה היא UpdateTemplate
הפרמטרים הנדרשים



פרמטר
סוג
תיאור
הערות




token
string
טוקן
פרמטר חובה


templateId
int
מזהה תבנית
פרמטר חובה


description
string
תיאור התבנית



callerId
string
זיהוי שיחה יוצאת



incomingPolicy
enum (string)
מדיניות שיחות נכנסות - רלוונטי לקמפיין ברירת המחדל בלבד. ישנם 4 מצבים OPEN BLACKLIST WHITELIST BLOCKED
OPEN - כל אחד יכול להתקשר. BLACKLIST - מספרים שחסומים ברשימת התפוצה לא יוכלו לחייג. WHITELIST - רק מספרים שפעילים ברשימת התפוצה יוכלו לחייג. BLOCKED - אף אחד לא יוכל לחייג


customerDefault
boolean (1/0)
האם להגדיר כקמפיין ברירת המחדל
אם כן, יש להגדיר 1. אם לא, יש להגדיר קמפיין אחר


maxActiveChannels
int
הגבלת קווים מחייגים
כאן ניתן להגדיר את המספר המקסימלי של שיחות פעילות בו זמנית בקמפיין


maxBridgedChannels
int
הגבלת קווים מנותבים
כאן ניתן להגדיר את המספר המקסימלי של שיחות מנותבות בו זמנית למספר המוגדר בערך bridgeTo. אם מספר הקווים המנותבים מגיע למספר המוגדר כאן, החיוגים בקמפיין ייעצרו עד שמספר הקווים המנותבים ירד. ערך 0 בשדה זה פירושו שאין הגבלת מספר קוים מנותבים


originateTimeout
double
זמן חיוג מקסימלי - בשניות
זמן מקסימלי מתחילת החיוג למספר עד למענה השיחה. שיחה שלא נענתה עד זמן זה תירשם בדו"ח כשיחה שנכשלה מסיבת "אין מענה"


vmDetect
boolean (1/0)
האם להפעיל את האפשרות של זיהוי תא קולי
במידה וכן, יש להגדיר 1. במידה ולא, יש להגדיר 0


filterEnabled
boolean (1/0)
האם להפעיל את האפשרות של קמפיין ממספרים אישיים
במידה וכן, יש להגדיר 1. במידה ולא, יש להגדיר 0


maxDialAttempts
int
ניסיונות חיוג
מספר מקסימלי של נסיונות חיוג שיבוצעו לאותו מספר בהתאם למדיניות חיוגים חוזרים המוגדרת לקמפיין


redialWait
double
המתנה בין נסיונות חיוג - בשניות
זמן המתנה מינימלי בשניות בין נסיונות חיוג לאותו מספר


redialPolicy
enum (string)
מדיניות חיוגים חוזרים. ישנם 3 מצבים - NONE CONGESTIONS FAILED
NONE - ללא חיוג חוזר. CONGESTIONS - חיוג חוזר במידה ולא זמין. FAILED חיוג חוזר במידה ואין מענה


yemotContext
enum (string)
סוג הקמפיין. ישנם 5 מצבים - SIMPLE REPEAT MESSAGE VOICEMAIL BRIDGE
SIMPLE - השמעת הודעה בלבד. REPEAT - השמעה חוזרת של ההודעה בהקשה על 1 ואישור קבלת ההודעה בהקשה על 7. MESSAGE - שליחת הודעה בדוא"ל בהקשה על 1. VOICEMAIL - השארת הודעה בתא קולי בהקשה על 1 שימו לב! באופן זמני התא הקולי בוטל. BRIDGE - ניתוב שיחה למענה אנושי


bridgeTo
string
מספר הטלפון לניתוב
במידה והקמפיין מוגדר כניתוב שיחה למענה אנושי


playPrivateMsg
boolean (1/0)
האם להפעיל את האפשרות של מצב הודעה פרטית
במידה וכן, יש להגדיר 1. במידה ולא, יש להגדיר 0


removeRequest
enum (string)
אפשרויות הסרה. קיימים 2 מצבים - SILENT WITH_MESSAGE
SILENT - הסרה בלחיצה על 9 ללא הודעה. WITH_MESSAGE - הסרה בלחיצה על 9 + הודעה סטנדרטית



מאפייני תגובת השרת



מאפיין
סוג
הסבר




templates
array
נתוני התבנית המעודכנים - זהה לתיאור התבנית בפקודה GetTemplates


העלאת והורדת קבצי שמע לקמפיין
ראה ערך העלאת קובץ  כיצד יש להעלות קבצים.
ראה ערך הורדת קובץ כיצד יש להוריד קבצים.
כדי להעלות ולהוריד קבצי שמע יש לציין את הנתיבים הבאים:
הודעת קמפיין קולי
${templateId}.wav

הודעת קמפיין sms
${templateId}.tts

הודעה לפני ניתוב
${templateId}-MoreInfo.wav

כאשר האפשרות של מצב הודעה פרטית מופעלת, ישנם קבצים נוספים המשמשים להפעלת הקמפיין:
ההודעה שמושמעת לכולם לפני ההודעה הפרטית
${templateId}-First.wav

הודעה פרטית שמושמעת לטלפון ספציפי
PrivateMsg/${phone}.wav

הודעה ברירת מחדל שמושמעת במידה ואין הודעה ספציפית עבור הטלפון
PrivateMsg/Default.wav


ניהול קבצי קמפיין
ראה ערכים ניהול קבצים, הצגת תוכן קובץ טקסט, העלאת טקסט לקובץ למידע אודות הפרמטרים הדרושים.
כדי לנהל את קבצי הקמפיין יש לציין את הנתיבים הבאים בפרמטרים what ו-target
הודעת קמפיין קולי
tpl:${templateId}

הודעת קמפיין sms
tpl:${templateId}:tts

הודעה לפני ניתוב
tpl:${templateId}:MoreInfo


יצירת תבנית קמפיין חדשה
הערה: ההגדרות של הקמפיין החדש יועתקו מקמפיין ברירת המחדל
הפקודה היא - CreateTemplate
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן


description
שם הקמפיין



מאפייני תגובת השרת



מאפיין
סוג
ערך




templateId
int
מזהה התבנית החדשה שנוצרה


מחיקת תבנית קמפיין
הפקודה היא - DeleteTemplate
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן


templateId
מזהה תבנית



אין מאפיינים מיוחדים בתגובת השרת


הצגת המספרים שברשימת התפוצה
הפקודה היא - GetTemplateEntries
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן


templateId
מזהה תבנית



מאפייני תגובת השרת



מאפיין
סוג
הסבר




templateId
int
מזהה תבנית


entries
array
מערך אובייקטים (ראה "תבנית אובייקט מספר" להלן)



תבנית אובייקט מספר



מאפיין
סוג
ערך
הערות




rowid
int
מזהה ייחודי של המספר ברשימת התפוצה



index

מיקום המספר ברשימת התפוצה



phone
string
מספר טלפון



blocked
boolean
האם המספר מוגדר כחסום
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


name
string
שם משוייך
במידה ולא מוגדר, יתקבל הערך null


moreinfo
string
מידע נוסף
במידה ולא מוגדר, יתקבל הערך null


עדכון מספר בודד ברשימת תפוצה
הפקודה היא - UpdateTemplateEntry
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
פרמטר חובה


templateId
מזהה תבנית
פרמטר חובה


rowid
מזהה ייחודי של המספר ברשימת התפוצה
אם הפרמטר מושמט והמספר לא קיים, תיווצר שורה חדשה


phone
מספר טלפון
אם המספר קיים ברשימת התפוצה והפרמטר rowid הושמט, המספר יעודכן מחדש והערכים name ו-moreinfo שהיו קיימים יימחקו


name
שם



moreinfo
מידע נוסף



blocked
האם לעדכן כחסום
במידה וכן, יש להגדיר 1. במידה ולא, יש להגדיר 0



אין מאפיינים מיוחדים בתגובת השרת


עדכון סטטוס או מחיקה של מספרים מרשימת התפוצה
הפקודה היא - UpdateTemplateEntries
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
פרמטר חובה


templateId
מזהה תבנית
פרמטר חובה


rowids
מזהה ייחודי של המספרים ברשימת התפוצה
יש להפריד בין המספרים עם מקף   - 


action
איזה פעולה לעשות
ישנם 3 אפשרויות. block - חסימה. unblock - ביטול חסימה. delete - מחיקה



אין מאפיינים מיוחדים בתגובת השרת


מחיקת כל המספרים מרשימת התפוצה
הפקודה היא - ClearTemplateEntries
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן


templateId
מזהה תבנית



אין מאפיינים מיוחדים בתגובת השרת


העלאת קובץ טקסט והפיכתו לרשימת טלפונים לתבנית קמפיין
הפקודה היא - UploadPhoneList
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן
חובה


templateId
מזהה תבנית
חובה


data
קובץ רשימת הטלפונים כמחרוזת
חובה


nameColumns
מספר העמודות של 'שם'. כל עמודות הטקסט האחרות עוברות ל'מידע נוסף '
ברירת מחדל 1


defaultPrefix
קידומת מספר ברירת מחדל למספרים בני 7 ספרות.הערכים המותרים הם: 02,03,04,08,09,077,072,073.
רשות


delimiter
תו המפריד בין עמודות (עבור עמודות המופרדים ב טאב כיתבו "TAB"
ברירת מחדל ","


updateType
מגדיר את סוג העדכון: UPDATE = עדכן רשומות קיימות והוסף חדשות, NEW = הסר את כל הרשומות הקיימות והוסף חדש, REMOVE = הסר רשומות
ברירת מחדל UPDATE


blocked
1 = יקבע את סטטוס הרשומות שהועלה ל'חסום '.
ברירת מחדל 0  כלומר לא מגדיר כחסום



אם ניתוח הקבצים נכשל בגלל פורמט לא מזוהה, יחזיר תגובה עם הודעה = "bad_format".
מאפייני תגובת השרת



מאפיין
סוג
הסבר




message
string
"ok" - פירושו שההעלאה עובדה כהלכה


templateId
int
מזהה התבנית שעודכן


totalParsed
int
המספר הכולל של מספרים שהתקבלו


rejectedRecords
Array
מערך המתאר את הרשומות שנדחו (ראה להלן פירוט)


totalInserted
int
המספר הכולל של מספרים שהוכנסו בהצלחה


totalUpdated
int
המספר הכולל של המספרים שעודכנו


totalRemoved
int
המספר הכולל של המספרים שהוסרו



אם מספרים מסוימים נדחו משום מה, rejectedRecords יכיל מערך של אובייקטים בפורמט הבא:



מאפיין
סוג
הסבר




phone
string
מספר הטלפון


name
string
עמודת שם


moreinfo
string
עמודת מידע נוסף


blocked
bool
סטטוס חסום


errorState
enum
DUPLICATE = המספר כפול, INVALID = המספר לא חוקי (אסור בקמפיינים)


originalRowNumber
int
מספר השורה בו זוהתה השגיאה


הפעלת קמפיין
מאפשר להפעיל קמפיין על בסיס תבנית קיימת במערכת
הפקודה היא RunCampaign
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
חובה


templateId
מזהה תבנית כפי שהתקבל בקריאות GetTemplates CreateTemplate
רשות; אם לא צוין, המערכת תשתמש בתבנית ברירת המחדל


callerId
זיהוי יוצא, מתקבל בקריאת GetApprovedCallerIDs
רשות; אם לא צוין, המערכת תשתמש בזיהוי שמוגדר בתבנית


phones
טלפונים לחיוג
רשות; ראה להלן פורמט מספרים לשליחה; אם לא צוין, המערכת תשתמש במספרים שנמצאים בתבנית.


ttsMode
השמעת הודעות אישיות בהקראה ממוחשבת - TTS
ראה הסבר להלן


withSMS
קמפיין משולב sms
ראה הסבר להלן




פורמט מספרים לשליחה
ניתן לשלוח את רשימת המספרים בפורמט פשוט כאשר המפריד בין מספר למספר הוא נקודותיים.
לדוגמה:
phones=0772222770:0773137770

בדוגמה, המערכת תחייג למספרים 0772222770 0773137770.
לחילופין, ניתן לשלוח בפורמט JSON ולצרף מידע על כל מספר (בדומה למידע שמופיע בתבנית על המספרים)
לדוגמה
{
	"0773137770":{
		"name":"שם",
		"moreinfo":"מידע נוסף",
		"blocked":true
	},
	"0772222770":{
		"name":"ימות המשיח",
		"text":"עתיד התקשורת כבר כאן"
	}
}

הסבר על הדוגמה
רשימת המספרים היא אובייקט כאשר לכל מספר ניתן להוסיף אובייקט עם מידע על המספר; כדלהלן:

שדה name משמש עבור השם.
שדה moreinfo משמש עבור מידע נוסף.
שדה text משמש עבור טקסט להודעה אישית (sms או tts; ראה להלן).
שדה blocked מציין אם המספר חסום או לא (true=חסום, false=פעיל; ברירת מחדל היא פעיל).


השמעת הודעות אישיות בהקראה ממוחשבת - TTS
ניתן להגדיר שהקמפיין יכיל הודעה אישית אשר תושמע לנמען בהקראה ממוחשבת (TTS - Text To Speech).
לצורך כך יש לשלוח את הפרמטר ttsMode=1, במקרה כזה, המערכת תשמיע תחילה את הודעת הקמפיין הכללית ולאחר מכן את הטקסט האישי.
שימו לב! במידה והקמפיין נשלח למספרי הטלפון שבתבנית (קרי, לא שלחתם פרמטר phones) אזי הטקסט להשמעה יהיה מה שמופיע על המספר בשדה moreinfo.
במידה והקמפיין נשלח למספרי טלפון ספציפיים (שציינתם בפרמטר phones) אזי הטקסט להשמעה יהיה מה שמופיע בשדה text וכמו שצוין למעלה.

קמפיין משולב sms
ניתן להגדיר שהקמפיין יהיה משולב sms, כך שלמספר נייד רגיל תישלח הודעת sms ולמספר נייד כשר תישלח הודעה קולית.
לצורך כך יש לשלוח את הפרמטר withSMS=1, במקרה כזה, המערכת תשלח קמפיין משולב.

מאפייני תגובת השרת
מאפיינים עיקריים



מאפיין
משמעות
סוג
דוגמה




templateId
מזהה תבנית עליה מתבסס הקמפיין
int
1117319


campaignId
מזהה הקמפיין (משמש עבור מעקב אחר הקמפיין ועוד)
string
0772222770-1117319-2025-01-21-15-11-18-347-API


entriesCount
סך הכל ערכים (מספרים) ברשימה
int
333


pending
סך הכל מספרים לחיוג
int
300


blocked
סך הכל מספרים חסומים
int
33


estimatedPrice
עלות משוערת ביחידות
double
333.0


customerUnits
כמות יחידות במערכת
double
10000.12121212


smsCount
כמות sms
double
0.0


smsPrice
עלות sms
double
0.0




שגיאות אפשריות



קוד הודעה
הודעה
הסבר




100
תבנית לא חוקית
ערך templateId אינו חוקי (התבנית אינה קיימת במערכת).


101
הקמפיין לא מוגדר כראוי
הקמפיין לא הוגדר נכון (רשימת הטלפונים ריקה, אין הודעה תקינה וכו').


102
אין טלפונים תקינים
כל המספרים שסופקו בפרמטר phones אינם תקינים.


103
יחידות לא מספיקות
יתרת היחידות במערכת אינה מספיקה עבור הקמפיין הנדרש.


104
isKodesh is true
ניסיון להפעיל קמפיין בשבת או ביום טוב.


105
שגיאה כללית
אירעה שגיאת מערכת והקמפיין לא יכול להתחיל.


120
CallerId אינו מורשה
המספר המבוקש ב-callerId אינו מורשה לשימוש עבור הלקוח.


קבלת מצב קמפיין
מאפשר לבדוק את הסטטוס הנוכחי של קמפיין כפי שהתקבל בקריאת RunCampaign
הפקודה היא GetCampaignStatus
פרמטרים בבקשה



פרמטר
חובה/אופציונלי
תיאור




token
חובה
טוקן


campaignId
חובה
מזהה הקמפיין, כפי שהתקבל בקריאת RunCampaign


entries
אופציונלי
הצגת רשומות בקמפיין (מספרי טלפון) ראו להלן "הצגת רשומות בקמפיין". במידה ולא צוין, ברירת המחדל היא שלא מציג את מצב הרשומות בקמפיין אלא רק את המצב הכללי של הקמפיין.


range
אופציונלי
טווח ערכים להצגה (מקסימום/מינימום) ראו להלן "הגדרת טווח להצגה"



הצגת רשומות בקמפיין
סוגי הערכים האפשריים בפרמטר entries



ערך
הסבר




all
הכל


pending
בהמתנה לחיוג


blocked
חסומים


done
בוצע


accepted
אישרו מסירה


failed
נכשלו


no_answer
אין מענה


busy
תפוס


amd
מענה תא קולי


ringing
בחיוג


up
בשיחה


bridged
מנותבים


remove_request
בקשה להסרה


redial
ממתינים לחיוג חוזר


canceled
בוטל


error
שגיאה כללית



הגדרת טווח להצגה
בפרמטר range יש להגדיר את טווח הרשומות להצגה.
הפורמט הוא [min]:[max].
לדוגמה 1:100 עבור 100 הרשומות הראשונות, או : עבור כל הרשומות.
ברירת מחדל מחזיר 10,000 ערכים ראשונים.

פרמטרים בתשובה במצב הצלחה
מבנה התגובה
{
    "responseStatus": "OK",
    "campaign": {
        "campaignId": "0772222770-1117319-2025-01-22-10-07-54-414-API",
        "campaignStatus": "RUNNING",
        "templateId": 1117319,
        "who": "0.0.0.0",
        "callerId": "0772222770",
        "blockedEntries": 0,
        "pendingEntries": 0,
        "activeEntries": 1,
        "bridgedEntries": 0,
        "redialEntries": 0,
        "doneEntries": 0,
        "failedEntries": 0,
        "totalEntries": 1,
        "totalDialed": 3,
        "totalSuccessful": 1,
        "totalBridged": 0,
        "totalFailed": 2,
        "totalIncoming": 0,
        "totalIncomingBridged": 0,
        "maxActiveChannels": 100,
        "maxBridgedChannels": 0,
        "maxDialAttempts": 3,
        "redialWait": 10.0,
        "redialPolicy": "FAILED",
        "vmDetect": false,
        "filterEnabled": false,
        "playPrivateMsg": false,
        "runTime": 150.306,
        "currentPrice": 1.0,
        "paused": false,
        "entries": [
            {
                "phone": "0773137770",
                "name": null,
                "moreinfo": "זוהי הודעת בדיקה",
                "entryStatus": "up",
                "duration": 3680,
                "bridgedDuration": null,
                "bridged": false,
                "startTime": "2025-01-22 10:10:14",
                "currentPrice": 1.0,
                "redials": [
                    {
                        "entryStatus": "no_answer",
                        "duration": null,
                        "bridgedDuration": null,
                        "bridged": false,
                        "startTime": "2025-01-22 10:07:54"
                    },
                    {
                        "entryStatus": "no_answer",
                        "duration": null,
                        "bridgedDuration": null,
                        "bridged": false,
                        "startTime": "2025-01-22 10:09:04"
                    }
                ]
            }
        ]
    },
    "yemotAPIVersion": 6
}


מבנה תגובת הקמפיין



מאפיין
סוג
תיאור




campaignId
מחרוזת
מזהה הקמפיין.


campaignStatus
enum
סטטוס הקמפיין: אחד מ-STOPPED, RUNNING, PAUSED, STOPPING FINISHED.


templateId
מספר
מזהה התבנית שעל בסיסה פועל הקמפיין.


who
מחרוזת
כתובת IP או מספר הטלפון שהפעיל את הקמפיין.


callerId
מחרוזת
מספר טלפון היוצא עבור הקמפיין.


blockedEntries
מספר
מספר הרשומות החסומות.


pendingEntries
מספר
מספר הרשומות הממתינות.


activeEntries
מספר
מספר הרשומות הפעילות כעת.


bridgedEntries
מספר
מספר הרשומות שחוברו בהצלחה.


redialEntries
מספר
מספר הרשומות המחכות לחיוג חוזר.


doneEntries
מספר
מספר הרשומות שהושלמו בהצלחה.


failedEntries
מספר
מספר הרשומות שנכשלו.


totalEntries
מספר
סך כל הרשומות בקמפיין.


totalDialed
מספר
סך כל החיוגים (כולל חיוגים חוזרים).


totalSuccessful
מספר
סך השיחות המוצלחות.


totalBridged
מספר
סך כל השיחות שחוברו.


totalFailed
מספר
סך כל השיחות שנכשלו.


totalIncoming
מספר
סך השיחות הנכנסות במהלך הקמפיין.


totalIncomingBridged
מספר
סך השיחות הנכנסות שחוברו.


maxActiveChannels
מספר
המספר המרבי של שיחות פעילות מותרות בקמפיין.


maxBridgedChannels
מספר
המספר המרבי של שיחות מחוברות מותרות בקמפיין.


maxDialAttempts
מספר
מספר הניסיונות המרבי לחיוג חוזר.


redialWait
מספר
זמן ההמתנה המינימלי בין ניסיונות חיוג חוזר (בשניות).


redialPolicy
enum
מדיניות החיוג החוזר: NONE, CONGESTIONS, או FAILED.


vmDetect
בוליאני
האם זיהוי תא קולי מופעל.


playPrivateMsg
בוליאני
האם מצב הודעה פרטית מופעל.


runTime
מספר
זמן הריצה הכולל של הקמפיין (בשניות).


currentPrice
מספר
המחיר הנוכחי שנגבה עבור הקמפיין (ביחידות).


paused
בוליאני
האם הקמפיין במצב מושהה.




שגיאות אפשריות



קוד הודעה
הודעה
הסבר




106
קמפיין לא נמצא
campaignId לא נמצא עבור המשתמש.




הערות

כאשר נכלל פרמטר entries, התגובה תכיל את שדה entries עם מידע מפורט על הרשומות (ראו מבנה JSON בתיאור המפורט).

   "entries": [
     {
       "phone": string,
       "name": string|null,
       "moreinfo": string|null,
       "entryStatus": entry_status_enum,
       "duration": time_ms|null,
       "bridgedDuration": time_ms|null,
       "bridged": true|false,
       "startTime": sql_time|null,
       "redials": [
         {
           "entryStatus": entry_status_enum,
           "duration": null,
           "bridgedDuration": null,
           "bridged": true|false,
           "startTime": sql_time|null
     },
     {
       "phone": "0501234567",                       // מספר הטלפון של הנמען
       "name": "Yosef",                             // שם (אם קיים)
       "moreinfo": "Jerusalem",                          // מידע נוסף (אם קיים)
       "entryStatus": "bridged",                    // סטטוס נוכחי של הרשומה (למשל: bridged, done, no_answer)
       "duration": 5200,                            // משך השיחה הכולל במילישניות
       "bridgedDuration": 4100,                     // משך זמן ניתוב שיחה
       "bridged": true,                             // האם השיחה מנותבת
       "startTime": "2025-05-25 10:32:00",          // מתי התחילה השיחה (זמן החיוג)
       "redials": [                                 // ניסיונות חוזרים (אם היו)
         {
           "entryStatus": "busy",                // סטטוס ניסיון חוזר זה
           "duration": null,                        // משך שיחה בניסיון זה (null כי לא נענתה)
           "bridgedDuration": null,                 // משך זמן ניתוב שיחה
           "bridged": false,                        // האם בוצע ניתוב שיחה
           "startTime": "2025-05-25 10:29:00"       // זמן תחילת ניסיון החיוג הזה
         },
         {
           "entryStatus": "no_answer",              // ניסיון חוזר נוסף - לא נענה
           "duration": null,                       // 
           "bridgedDuration": 0,                    // 
           "bridged": false,                        //
           "startTime": "2025-05-25 10:30:30"       //
         }
       ]
     },
     {
       "phone": "0521234567",                       // מספר טלפון נוסף
       "name": null,                                // לא סופק שם
       "moreinfo": null,               // לא סופק
       "entryStatus": "done",                       // הסתיים בהצלחה
       "duration": 8000,                            // משך שיחה
       "bridgedDuration": 0,                        // 
       "bridged": false,                            // 
       "startTime": "2025-05-25 10:35:00",          // מתי בוצעה השיחה
       "redials": []                                // לא היו ניסיונות חוזרים
     }
   ]


הורדת דו"ח קמפיין-DownloadCampaignReport


קבלת קמפיינים פעילים-GetActiveCampaigns


ביצוע פעולות בקמפיין בזמן אמת
הפקודה היא CampaignAction
תיאור
שירות זה מאפשר לבצע פעולות ניהול בזמן אמת על קמפיין פעיל.
המערכת תומכת בשני סוגי פעולות:

פעולות כלליות על הקמפיין כולו (כגון עצירה, השהייה, הגבלת ערוצים).
פעולות ממוקדות על מספרים ספציפיים (כגון חסימה, הוספה, ניתוק).


חלק א' – פעולות כלליות בקמפיין
פרמטרים בבקשה



פרמטר
חובה
תיאור




token
כן
טוקן


campaignId
כן
מזהה הקמפיין, כפי שהוחזר מ־RunCampaign.


action
כן
הפעולה שיש לבצע (ראו טבלה להלן).


value
תלוי
ערך נלווה לפעולה (למשל 0, 1 או מספר ערוצים).



פעולות כלליות נתמכות (action)



ערך (action)
תיאור
ערך value נדרש




stop
עצירת הקמפיין באופן מיידי.
לא נדרש


setPaused
הפעלת/ביטול מצב מושהה – 1 להשהיה, 0 לביטול.
0 או 1


setMaxActiveChannels
שינוי כמות מקסימלית של שיחות פעילות בו־זמנית במהלך הקמפיין.
מספר


setMaxBridgedChannels
שינוי כמות מקסימלית של שיחות מנותבות בו־זמנית במהלך הקמפיין.
מספר



מבנה תגובה
{
  "responseStatus": "OK",
  "campaign": { ... },         /// סטטוס מעודכן של הקמפיין (ראו פירוט בהמשך)
  "action": "setPaused",       /// הפעולה שבוצעה
  "value": "1"                 /// הערך שנשלח לביצוע הפעולה
}


חלק ב' – פעולות על מספרים ספציפיים
פרמטרים בבקשה



פרמטר
חובה
תיאור




token
כן
טוקן


campaignId
כן
מזהה הקמפיין


action
כן
אחת מהפעולות: add, block, hangup.


value
כן
רשימת מספרים לביצוע הפעולה – בפורמט : או JSON (ראו להלן).



פעולות נתמכות במספרים (action)



ערך (action)
תיאור פעולה




add
הוספת מספרים לרשימת החיוג של הקמפיין (גם תוך כדי ריצה).


block
חסימת מספרים – לא יבוצעו אליהם חיוגים נוספים.


hangup
ניתוק מיידי של שיחות פעילות למספרים שצוינו.



פורמט value – רשימת מספרים
אפשרות 1: מחרוזת מופרדת ב־:
0501234567:0527654321

אפשרות 2: JSON מלא כמו ב־RunCampaign
{
  "0501234567": "הודעה מותאמת אישית",
  "0527654321": {
    "name": "חיים",
    "moreinfo": "מזכרת בתיה",
    "text": "שלום! זו הודעת תזכורת"
  }
}


מבנה תגובה
{
  "responseStatus": "OK",
  "campaign": { ... },         /// סטטוס מעודכן של הקמפיין
  "action": "add",             /// הפעולה שבוצעה
  "value": null,               /// ערך שנשלח (אם רלוונטי)
  "data": [
    {
      "phone": "0501234567",
      "action": "add"          /// הפעולה שבוצעה בפועל על המספר (ראה טבלה בהמשך)
    },
    {
      "phone": "0527654321",
      "action": "blocked"
    }
  ],
  "yemotAPIVersion": 6
}


אפשרויות ערך ב־data[].action



ערך (action)
תיאור הפעולה שבוצעה בפועל על המספר




add
המספר נוסף לקמפיין


addblocked
המספר נוסף אך מיד סומן כחסום


block
המספר נחסם ולא יחוייג שוב בקמפיין


unblock
בוטלה החסימה מהמספר


hangup
השיחה למספר זה נותקה (אם הייתה פעילה)


failed
המספר סומן כ"שיחה נכשלה" ולא יחוייג שוב




campaign – אובייקט סטטוס הקמפיין
האובייקט campaign המוחזר בתגובה מכיל את הסטטוס הנוכחי של הקמפיין, והוא תואם בדיוק למבנה שמוחזר מהשירות GetCampaignStatus.
כולל נתונים כגון:

campaignId, campaignStatus, templateId, callerId
ספירות של pendingEntries, activeEntries, doneEntries, failedEntries, redialEntries ועוד
הגדרות כמו maxActiveChannels, vmDetect, paused
עלות מצטברת (currentPrice)
זמן ריצה כולל (runTime)


יצירת קמפיין מתוזמן
הפקודה היא - ScheduleCampaign
הפרמטרים הנדרשים



פרמטר
אפשרויות
תיאור/הערות/פירוט




token

טוקן


templateId

מספר מזהה של הקמפיין


time

הגדרת זמן הפעלה באחד מהצורות הבאות (תאריך לועזי בלבד)


אופציה 1
yyyy-MM-dd-HH:mm:ss
שנה -חודש - יום-שעה:דקה:שניה


אופציה 2
yyyy-MM-dd-HH:mm
שנה -חודש - יום-שעה:דקה


אופציה 3
yyyy-MM-dd HH:mm:ss
שנה -חודש - יום שעה:דקה:שניה(בין היום לשעה רווח במקום -)


אופציה 4
yyyy-MM-dd
שנה -חודש-יום


אופציה 5
HH:mm:ss
שעה:דקה:שניה


אופציה 6
HH:mm
שעה:דקה


קבלת קמפיינים מתוזמנים-
הפקודה היא - GetScheduledCampaigns
הפרמטרים הנדרשים:



פרמטר
תיאור/הערות




token
טוקן


type
סוג הקמפיינים להחזרה. האפשרויות הם PENDING קמפיינים המיועדים לביצוע. SUCCESSFUL קמפיינים שבוצעו בהצלחה. FAILED קמפיינים שנכשלו.


order
סדר המיון. האפשרויות הם: asc (ברירת מחדל) - סדר עולה. desc- סדר יורד


from
אופציונלי - maximum number of records to include


limit
אופציונלי - מקסימום של קמפיינים להחזרה


מחיקת קמפיין מתוזמן
הפקודה היא DeleteScheduledCampaign
הפקודה מבטלת (מוחקת) קמפיין שתוזמן מראש ועדיין לא בוצע.
ניתן למחוק אך ורק קמפיין שנמצא במצב "ממתין לביצוע" (pending). קמפיין שכבר בוצע (בהצלחה או בכשלון) לא ניתן למחיקה.
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
חובה


schedId
מזהה הקמפיין המתוזמן
חובה. מספר מזהה (int) של הקמפיין המתוזמן, כפי שמתקבל בתגובת הפקודה GetScheduledCampaigns (תחת המאפיין schedId)




מאפייני תגובת השרת



מאפיין
סוג
הסבר




responseStatus
string
סטטוס התגובה. OK בהצלחה, ERROR בשגיאה


message
string
הודעת המערכת. בהצלחה יוחזר הערך ok


messageCode
int
קוד שגיאה. מוחזר רק במקרה של שגיאה (ראה להלן "קודי שגיאה אפשריים")



דוגמת תגובה בהצלחה
{
    "responseStatus": "OK",
    "message": "ok"
}


קודי שגיאה אפשריים



קוד
הודעה
תיאור




105
invalid schedId
מזהה הקמפיין אינו קיים


106
schedId is not pending
הקמפיין אינו במצב "ממתין לביצוע" (כבר בוצע) ולכן לא ניתן למחיקה



שימו לב: אם הפרמטר schedId חסר או אינו מספר תקין, תוחזר שגיאה כללית.


הצגת תוכן שלוחה (תיקייה)
הפקודה היא GetIVR2Dir
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
חובה


path
נתיב תיקייה
חובה. לדוגמה: / עבור שלוחה ראשית. 1 עבור שלוחה 1 ext/1 עבור שלוחה ext/1


filesFrom
הצג קבצים מ
רשות. 0 יציג מהקובץ הראשון 1 יציג מהקובץ השני וכן הלאה. ברירת מחדל מציג מהקובץ הראשון.


filesLimit
הצג קבצים עד
רשות. לדוגמה, 5 יציג את הקובץ החמישי (כולל). ברירת מחדל מציג עד הקובץ האחרון


orderBy
מיין קבצים לפי
ראה להלן "ערכים אפשריים לפרמטר orderBy"


orderDir
סדר קבצים
asc - סדר עולה. desc - סדר יורד.



ערכים אפשריים לפרמטר orderBy



ערך
תיאור




name
שם קובץ (ברירת מחדל)


date
תאריך יצירה


mtime
תאריך שינוי אחרון


customerdid
מספר מערכת


uploader
מעלה הקובץ


size
גודל


source
מקור




מאפייני תגובת השרת



מאפיין
סוג
הסבר




extIni
object
אובייקט הכולל את הגדרות השלוחה


thisPath
string
נתיב תיקייה נוכחית


parentPath
string
נתיב תיקיית אב


dirs
Array
מערך הכולל את התיקיות והשלוחות שבתיקייה הנוכחית


files
Array
מערך הכולל את הקבצים שבתיקייה הנוכחית (מלבד קבצי ini ו-html שנמצאים במערך נפרד)


ini
Array
מערך הכולל את קבצי ההגדרות (ini) שבשלוחה


messages
Array
מערך הכולל את הודעות המערכת הקשורות לשלוחה


html
Array
מערך הכולל את קבצי הדוחות (html) שבשלוחה


msgDescriptions
object
אובייקט הכולל את התיאור של כל הודעות המערכת בשלוחה (למשל M0000=הודעת ברוכים הבאים)



מאפיינים משותפים לאובייקטים במערכים "dirs" "files" "ini" "messages" "html"



מאפיין
סוג
הסבר




exists
boolean
האם התיקייה/קובץ קיימים


name
string
שם התיקייה/קובץ


uniqueId
string
מזהה ייחודי לתיקייה/קובץ


what
string
נתיב תיקייה/קובץ


fileType
string
סוג תיקייה/קובץ



מאפיינים משותפים לאובייקטים במערכים  "files" "ini" "messages" "html"



מאפיין
סוג
הסבר




size
int
גודל קובץ (בבתים)


mtime
string
תאריך שינוי אחרון



מאפיינים משותפים לאובייקטים במערכים  "files" "messages"
הערה: המאפיינים הבאים הינם עבור קבצי שמע בלבד



מאפיין
סוג
הסבר




duration

אורך (בדקות)


durationStr
string
אורך בפורמט mm:ss


customerDid
string
מספר מערכת בה נוצר הקובץ


meta
string
אובייקט המכיל מידע נוסף על הקובץ


date
string
זמן יצירת קובץ dd/mm/yyyy hh:mm


source
string
מקור הקובץ


phone
string
טלפון יוצר הקובץ


ip
string
כתובת IP של מעלה הקובץ



מאפייני אובייקטים במערך dirs
הערה: המאפיינים הבאים הינם עבור תיקיות המוגדרות כשלוחה ולא עבור תיקיות רגילות



מאפיין
סוג
הסבר




extType
string
סוג שלוחה


extTitle
string
תיאור שלוחה


קבלת מידע על קובץ בודד
הפקודה היא - GetFile
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


what
נתיב במערכת
string (דוגמה למטה)



דוגמה לנתיב
what=ivr2:2/000.wav    /// מידע על קובץ 000 בשלוחה 2

תגובה (במידה והקובץ קיים)
דומה למאפיינים של קובץ כפי שמופיע בGetIVR2Dir
במידה וקובץ לא קיים יחזור שגיאה
{
  "responseStatus": "ERROR",
  "message": "file does not exist",
  "messageCode": null,
  "yemotAPIVersion": 6
}

במידה ונתיב לא חוקי יחזור
{
  "responseStatus": "EXCEPTION",
  "exceptionClass": "IllegalArgumentException",
  "exceptionMessage": "bad descriptor format. don't know what is xyz",
  "nestedException": null,
  "yemotAPIVersion": 6
}


ניהול תיקיות וקבצים
הפקודה היא FileAction
הפרמטרים הנדרשים



פרמטר
תיאור
הערה




token
טוקן



action
סוג הפעולה לביצוע
ראה להלן


what
נתיב
ראה להלן


target
יעד
ראה להלן



בפרמטר action האפשרויות הקיימות הן:

copy - העתקה
move - העברה (לשינוי שם של שלוחה או קובץ יש להשתמש בהעברה)
delete - מחיקה

בפרמטר what האפשרויות הקיימות הן:

ניהול קובץ בודד או שלוחה בודדת.
ניהול קבצים מרובים כאשר בפרמטר what יש לציין כל קובץ או שלוחה בנפרד. לדוגמה:
ניהול קובץ בתבנית קמפיין. ראה כאן

${url}FileAction?token=${token}&action=${action}&what0=ivr2:1&what1=ivr2:2/ext.ini

בדוגמה: ניהול שלוחה 1 וניהול קובץ ext.ini שבשלוחה 2.
בפעולה מסוג העברה או העתקה חובה לציין פרמטר target. האפשרויות הקיימות הן:

בניהול קבצים מרובים או שלוחות מרובות יש לציין את נתיב היעד הרצוי. לדוגמה, במידה והיעד הוא שלוחה 1 יש לציין את הנתיב כך target=ivr2:1.
הערה: שימו לב! השם המקורי נשמר. במידה ומדובר בהעברת או העתקת קבצים עם שם בעל מספר סידורי שמות הקבצים ישתנו בהתאם לשמות הקבצים בשלוחת היעד. (לדוגמה, אם בוצעה העתקה של קובץ 001 משלוחה 2 לשלוחה 1 ששם קיים קובץ בשם 050 אז השם של הקובץ שהועתק ישתנה ל-051).
בניהול קובץ בודד או שלוחה בודדת ניתן גם לציין נתיב מלא כולל השם הרצוי ביעד.

מאפייני תגובת השרת:



מאפיין
סוג
הסבר
הערה




reports
array
מערך אובייקטים
ראה להלן


success
boolean
האם הפעולה בוצעה
במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false


action

סוג הפעולה שבוצעה




תבנית אובייקט



מאפיין
ערך




what
נתיב מקור


target
נתיב יעד


success
האם בוצע (זהה לתיאור לעיל)


קבלת תוכן קובץ טקסט
הפקודה היא - GetTextFile
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



what
נתיב מלא כולל שם הקובץ והסיומת
לדוגמה ivr2:1/ext.ini



מאפייני תגובת השרת:



מאפיין
סוג
ערך




contents
string
התוכן הכתוב בקובץ


file
array
מערך אובייקטים (ראה להלן)



תבנית אובייקט:



מאפיין
סוג
ערך




exists
boolean
האם הפעולה בוצעה (במידה וכן, יופיע הערך true. במידה ולא, יופיע הערך false)


name
string
שם הקובץ


uniqueId
string
מזהה תנועה ייחודי


fileType
string
סוג קובץ (למשל: INI)


size
int
גודל קובץ


mtime
string
תאריך ושעה שהקובץ השתנה (פורמט: dd/MM/yyyy HH:mm)


what
string
נתיב מלא


העלאת טקסט לקובץ
הערה: במידה והקובץ לא קיים בשלוחה, ייווצר קובץ חדש.
הפקודה היא - UploadTextFile
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



what
שם הקובץ והסיומת
יש לציין את הנתיב המלא. לדוגמה ivr2:1/ext.ini


contents
תוכן הקובץ להעלאה
במידה וקיים כבר טקסט בקובץ הוא יימחק



אין מאפיינים מיוחדים בתגובת השרת


עדכון הגדרות שלוחה

שימו לב! בשונה מהפקודה UploadTextFile כאן המערכת לא מוחקת את הקיים בקובץ ext.ini והדבר היחיד שמשתנה הוא מה שאתם שולחים לשרת

הפקודה היא - UpdateExtension
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




token
טוקן


path
נתיב



בפרמטרים הנוספים תוכלו לצרף ערכים לעדכון בקובץ ext.ini
לדוגמה:
${url}UpdateExtension?token=${token}&path=ivr2:1&type=menu&title=בדיקה&enter_id=yes

בדוגמה, עדכון הגדרות לשלוחה 1, סוג השלוחה - תפריט, כינוי השלוחה - בדיקה, תתבצע כניסה לפי מספר אישי.
אין מאפיינים מיוחדים בתגובת השרת
הערה: במידה והשלוחה לא קיימת במערכת, תיווצר שלוחה חדשה.


הכוונת שיחה - העברת מאזין ב**אפשרות הראשונה לשלוחה אחרת או לניתוק
** לא בכל שלב ניתן להעביר את המאזין לשלוחה אחרת באופן מיידי, ולכן הפעולה נשמרת למקום הראשון בו ניתן לעשות את הפעולה
הפקודה היא - CallAction
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
set:GOasap=XXXX
יש להחליף את "XXX" בלאן להעביר את המאזין, נתיב העברה, או "hangup" לניתוק



מאפייני תגובת השרת:



מאפיין
סוג
הסבר




calls
array
פירוט השיחות שבוצעה בהן פעולה - זהה לתיאור המופיע בפקודה GetIncomingCalls


action

סוג הפעולה שבוצעה


callsCount
int
מספר כולל של שיחות שבוצעה בהן פעולה


ניהול חדרי ועידה:

הפקודה היא - CallAction
בקריאה ל GetIncomingCalls יש מערך של שיחות של חדרי ועידה, כל הפעולות המפורטות כאן צריכות להיות מבוצעות על הid של המאזין של חדר הועידה - ולא על הID הראשי.
טיפה הסבר על מערך של שיחות הוועידה:
דוגמא:

נעבור על החלקים החשובים.



פרמטר
תיאור
הערות




confCalls
מכיל את מספר המערכת הראשי, ואז - ואז את השלוחה של חדר הועידה



mute
האם הערוץ מושתק



hand
האם יש הרמת אצבע



admin
האם מנהל



data['survey']
מכיל את נתוני הצבעה, במהלך החדר המאזין יכול להקיש על כל הספרות בטלפון שלו וזה משוקף מייד.
באם אין הקשה הערך לא יופיע




הוספה או הסרה של רכיבים מה path וממערך data.
השימוש למשל, כדי לבטל את ההצבעות של המשתשים כדי לאפס את נתוני הסקר.
הוספה של ערך:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


path:add:XXX
הוספה של נתון בpath, זה גם יופיע במערך data שהובא לעיל
יש להחליף את XXX בערך, למשל: path:add:survey=7.



הסרה של ערך:
פה ניתן לשלוח רק את ההתחלה של הערך, והוא ירד.



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


path:remove:XXX
הסרה של נתון בpath, זה גם ירד במערך data שהובא לעיל
יש להחליף את XXX בתחילת ערך, למשל: path:remove:survey=. זה יגרום למחיקה של ערך survey ממערך הdata בכלל - למשל, כדי לאפס נתוני הצבעה.



יש לשים לב, זה לא משפיע על סוג וצורת החדר, למשל, שליחה של path:add:admin לא תגרום למאזין להיות מנהל של החדר.

הוצאה מחדר ועידה.
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
kick




המאזין הולך ביציאה בדיוק לאן שהיה הולך אם המנהל היה מנתק את החדר או שהוא יהיה יוצר מהחדר אלא אם כן מוגדר בשלוחה, התבאר פה.
ניתן גם להוציא את המאזין לשלוחה ספציפית גם ללא שום הגדרה בשלוחה, ניתן לראות בפוסט זה תחת "כיוון הוצאה מחדר ועידה".

השתקת הערוץ:
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
mute





ביטול השתקה של הערוץ:
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
unmute





סימון הורדת יד:
בדומה להורדת אצבע על ידי המאזין בטלפון.
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
lowerhand





סימון הרמת יד:
בדומה להרמת אצבע על ידי המאזין בטלפון.
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action
raisehand





כיוון הוצאה מחדר ועידה:
יש לפנות לפה לפני שעושים kick על מנת לכוון את המאזין ללכת לשלוחה ספציפית בהוצאה מהחדר. באפשרות זו לא צריך שום הגדרה בשלוחה שתאפשר את היציאה מהחדר, ואם פונים לכאן לפני kick המאזין ילך לאן שהתבקש.
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


set:ConfbridgeNewGoto=/XX
מסמן לאן להעביר את המאזין בביצוע kick מהאתר
יש לכתוב נתיב להעברה או hangup לניתוק.





מאפייני תגובת השרת בכל הפעולות:



מאפיין
סוג
הסבר




calls
array
פירוט השיחות שבוצעה בהן פעולה - זהה לתיאור המופיע בפקודה GetIncomingCalls


action

סוג הפעולה שבוצעה


callsCount
int
מספר כולל של שיחות שבוצעה בהן פעולה


שינוי השפה בערוץ:
גובר על ערך language בשלוחה ובivr.ini.
הפרמטרים הנדרשים:



פרמטר
תיאור
הערות




token
טוקן



ids
מזהה ייחודי של השיחה כפי שהתקבל בקריאה GetIncomingCalls
ניתן לשרשר כמה שיחות לביצוע על ידי כתיבה  : בין id לid


action=set:Clanguage=XX
מסמן את השפה החדשה בערוץ כולו יש להחליף את XX בשפה המבוקשת - כל קודי השפה שיש כמו במערכת עצמה
השינוי יכנס לתוקף במעבר שלוחה הבא של המאזין.



דוגמה
CallAction?token=xxxxxxxx&ids=fgdhfszfzvxbdgsxf&action=set:Clanguage=en



מאפייני תגובת השרת:



מאפיין
סוג
הסבר




calls
array
פירוט השיחות שבוצעה בהן פעולה - זהה לתיאור המופיע בפקודה GetIncomingCalls


action

סוג הפעולה שבוצעה


callsCount
int
מספר כולל של שיחות שבוצעה בהן פעולה


קבלת סיכום דקות נכנסות למערכת לפי טווח תאריכים
הפקודה היא - GetIncomingSum
הפרמטרים הנדרשים



פרמטר
תיאור
דוגמא




token
טוקן



from
מאיזה תאריך
YYYY-mm-dd


to
עד איזה תאריך
YYYY-mm-dd


בחירת מחדל - אם לא צויין טווח תאריכים - יביא מתחילת החודש הלועזי





מאפייני תגובת השרת



מאפיין
סוג
הסבר




fromDate
string
מאיזה תאריך מוצגים הנתונים


toDate
string
עד איזה תאריך מוצגים הנתונים


direct
int
דקות בחיוג ישיר למערכת


transferIn
int
דקות ממערכות אחרות


transferOut
int
דקות שיצאו למערכות אחרות


קבלת לוג סמסים יוצאים
הפקודה היא - GetSmsOutLog
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן



limit
הגבלת תוצאות
int



בחירת מחדל מביא את כל הסמסים.
סדר קבלת הסמסים הם מהחדש לישן
מאפייני תגובת השרת



מאפיין
סוג
הסבר




rows
array
מערך של הסמסים היוצאים



להלן תוכן מערך הסמסים:



מאפיין
סוג
הסבר




CallerId
string
זיהוי יוצא


To
string
יעד


Message
string
תוכן ההודעה


Billing
int
עלות ביחידות


RunBy
string
פרטי מבצע הפעולה


Time
string
זמן השליחה


DeliveryReport
string
דוח מסירה



להלן סוגי סטטוס דוחות מסירה נפוצים לפי תקן SMPP:



#
הסבר




null
לא התקבל מידע על מסירת ההודעה


DELIVRD
נמסר


ESME_ROK
הועבר לשליחה בהצלחה


EXPIRED
פג תוקף מעקב המסירה


ESME_RINVDSTADR
יעד לא נגיש


ESME_RINVMSGLEN
אורך לא חוקי


ESME_RINVCMDLEN
אורך פקודה שגוי


ESME_RMSGQFUL
תור ההודעות מלא


ESME_RINVNUMDESTS
מספר יעדים לא חוקי


ממשק אירועי אבטחה.
תיעוד API לגישה לאירועי האבטחה של המערכת של המערכת.
ה Web Services היבוארו כאן:
ValidationToken // מידע על הטוקן
DoubleAuth // ביצוע אימות דו שלבי בטוקן
GetLoginLog // קבלת לוג ניסיונות התחברות
GetAllSessions // קבלת סשנים פעילים
KillSession // סגירת סשן ספציפי
KillAllSessions // סגירת כל הסשנים הפעילים

הערה חשובה:
שימוש בטוקן שהוא שם משתמש וסיסמה של המערכת (077777:1234) לא ממולץ לעבודה עם מתודות שדורשים אימות דו שלבי מכיוון שהאימות הדו שלבי זה ברמת טוקן והתחברות בצורה כזו יוצרת טוקן משתנה.

מתודה - ValidationToken
קבלת מידע על טוקן.
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן



בתגובת השרת במידה שהטוקן תקין יתקבל מערך בשם tokenData המכיל את המידע הבא:



מאפיין
סוג
הסבר
דוגמא




remoteIP
string
כתובת IP של יוצר הטוקן
172.18.0.1


sessionType
string
סוג החיבור
API


createTime
string
זמן יצירה
2021-07-30 14:38:30


lastRequest
string
שימוש אחרון
2021-07-30 14:42:31


doubleAuthStatus
boolean
האם החיבור עבר אימות דו-שלבי
false


validationCalls
int
כמות שיחות אימות שיצאו ולא אומתו (ערך כללי, לא קשור לחיבור הספציפי)
3


token
string
רמז של הטוקן
hwe***5J76TM


mfaStatus
boolean
סטטוס מעבר אימות דו שלבי גלובלי
true


mfaRealValid
boolean
האם עבר אימות דו שלבי גלובלי  באותו הסשן
false


mfaRequestId
int
מזהה בקשת אימות דו שלבי גלובלי של אותו החיבור
1


mfaValidReason
string
סיבת מעבר אימות דו-שלבי גלובלי
MFA_PASSED 



בעיקרון, מה שחשוב לנו לזכור מכאן זה doubleAuthStatus - שמסמן לנו אם הטוקן עבר אימות דו שלבי, ו validationCalls שצריך לשים לב אליו, כי הוא מוגבל - זה יוסבר יותר בהמשך.

מתודה - DoubleAuth
ביצוע אימות דו שלבי בטוקן.
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן


action
פעולה: שליחת שיחת אימות או אימות בפועל.



אימות כפול מתבצע ב2 שלבים, מבקשים שיחת אימות, ואז פונים שוב עם קוד האימות לסיים את האימות.
קבלת שיחה:
שולחים פרמטר SendCode בערך action.
תגובה תקינה של השרת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


message
string
הודעת הצלחה
Call successfully sent


LastNumberToSend
string
4 הספרות האחרונות של המספר שאליו נשלחה השיחה
7770



שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
EXCEPTION
message
Missing parameters
חסרים פרמטרים, או ש action ריק או שהוא מצפה לערך נוסף


2
EXCEPTION
message
createPhone is Not Valid. verification is disabled
מספר יוצר המערכת לא מעודכן או לא מספר תקין, לא ניתן לבצע אימות


3
ERROR
message
Token has already been verified
כבר בוצע אימות דו שלבי בטוקן זה.


4
ERROR
message
Too many validation Calls. Try for a few more hours
יותר מידי שליחת שיחות במערכת ללא אימות בטווח קצר.



הסבר חשוב בנוגע לשגיאה 4: על מנת למנוע ניצול לרעה שליחת שיחות אימות מוגבלות, כל שליחה של שיחת אימות נספרת, וכל אימות מוצלח מוריד ספירה.
זה אומר, שאם תבצעו אימות מוצלח  ושיחה אחד בלבד זה לא יחשב בתור שיחה, אבל אם תשלחו 4 שיחות אימות ורק אז יתבצע אימות אז יספר 3 שיחות שיצאו ללא צורך.
ניתן לראות את המונה שיחות של המערכת בפניה ל ValidationToken.
המונה מתאפס כל כ6 שעות.
ביצוע אימות בפועל:
שולחים פרמטר VerifyCode בערך action ואת 4 הספרות של המספר שקיבלתם ממנו את השיחה בערך code.
תגובה תקינה של השרת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


message
string
הודעת הצלחה
VerifiedOK



אחרי ביצוע אימות לטוקן ניתן להשתמש איתו למתודות שיבוארו מייד לאחר הסבר השגיאות.
שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
ERROR
message
Please SendCode before
לא ניתן לבצע אימות לפני שליחת שיחה. יש לשלוח שיחה קודם.


2
ERROR
message
Authentication failed
הקוד לא תקין.


3
ERROR
message
Missing parameters
חסרים פרמטרים, או ש action ריק או שהוא מצפה לערך נוסף


4
ERROR
message
Token has already been verified
כבר בוצע אימות דו שלבי בטוקן זה.




מתודה - GetLoginLog
קבל לוג התחברויות
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן שעבר אימות דו שלבי


limit
ניתן להגביל את כמות התוצאות שיתקבלו


username
חיפוש לוג לפי שם משתמש



לגבי ערך username: בעצם LoginLog לא מחייב שמדובר במערכת אמיתית ולכן זה נשמר לפי שם משתמש, בעת פניה ללא הערך יחזרו הלוגים של המספר הראשי של המערכת, אם ברצונכם להביא לוגים של מספר משנה למשל, יש לצרף ערך זה עם המספר משנה.
בתגובת השרת במידה שהטוקן תקין יתקבל array בשם data המכיל את כל התוצאות, כל תוצאה היא גם מערך המכיל את השדות הבאים:



מאפיין
סוג
הסבר
דוגמא




remoteIP
string
כתובת IP
172.18.0.1


sessionType
string
סוג החיבור
REGULAR


actionTimestamp
string
זמן
2021-07-30 14:13:00


username
string
שם המשתמש
0773137770


successful
boolean
האם מדובר בחיבור מוצלח או לא
false



שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
EXCEPTION
message
Unverified session
טוקן לא עבר אימות דו שלבי.


2
EXCEPTION
message
Unknown username
ערך שם משתמש שגוי.




מתודה - GetAllSessions
קבל סשנים פעילים
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן שעבר אימות דו שלבי


limit
ניתן להגביל את כמות התוצאות שיתקבלו



בתגובת השרת במידה שהטוקן תקין יתקבל array בשם sessions המכיל את כל החיבורים וערך int בשם sessionsCount המכיל את כמות הסשנים הפעילים.
כל ערך בתוך sessions יכיל:



מאפיין
סוג
הסבר
דוגמא




id
int
מזהה טוקן, לצורך הריגה שלו
16598


token
string
רמז של הטוקן
hwe***5J76TM


active
boolean
האם הטוקן פעיל
true


selectedDID
string
שם משתמש (בחיבור של API זה null
0773137770


remoteIP
string
כתובת IP של יוצר הטוקן
172.18.0.1


sessionType
string
סוג החיבור
API


createTime
string
זמן יצירה
2021-07-30 14:38:30


lastRequest
string
שימוש אחרון
2021-07-30 14:42:31


doubleAuthStatus
boolean
האם החיבור עבר אימות דו-שלבי
false


mfaStatus
boolean
סטטוס מעבר אימות דו שלבי גלובלי
true


mfaRealValid
boolean
האם עבר אימות דו שלבי גלובלי  באותו הסשן
false


mfaRequestId
int
מזהה בקשת אימות דו שלבי גלובלי של אותו החיבור
1


mfaValidReason
string
סיבת מעבר אימות דו-שלבי גלובלי
MFA_PASSED 



שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
EXCEPTION
message
Unverified session
טוקן לא עבר אימות דו שלבי.




מתודה - KillSession
סגירת סשן
הפרמטרים הנדרשים



פרמטר
תיאור




token
טוקן שעבר אימות דו שלבי


SessionId
מזהה סשן להריגה



תגובה תקינה של השרת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


SessionId
string
מזהה הסשן שנסגר
35



שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
EXCEPTION
message
Unverified session
טוקן לא עבר אימות דו שלבי.


2
EXCEPTION
message
SessionId Can only be a number
ערך מזהה סשן ריק או לא תקין.


3
ERROR
message
SSessionId is broken
מזהה סשן לא פעיל או לא נמצא.




מתודה - KillAllSessions
סגירת כל הסשנים הפעילים של המערכת
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן שעבר אימות דו שלבי




תגובה תקינה של השרת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


KillSessions
string
כמות הסשנים שנסגרו
10



שגיאות אפשרויות:
סוג השגיאה מופיע ב responseStatus



#
סוג שגיאה
ערך הסברה
תוכן
הסבר




1
EXCEPTION
message
Unverified session
טוקן לא עבר אימות דו שלבי.


הפעלת צינתוק
הפקודה היא - RunTzintuk
שליחת צינתוק במתודה זו היא בעלות של 0.1 יחידה למספר מלבד הפעלה של צינתוק מרשימת צינתוקים חינמים שהיא ללא עלות.
יתכן שתעריף השימוש במודול זה ישתנה בהמשך לפי שיקול דעת ההנהלה.
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן



callerId
זיהוי יוצא, בחירת מחדל זיהוי ראשי של המערכת, ניתן לכתוב זיהוי ספיישל או מספר משנה. ניתן להשתמש עם זיהוי רנדומלי על ידי ציון RAND, זיהוי רנדומלי יבואר מתחת לטבלא
int


TzintukTimeOut
זמן צינתוק. בחירת מחדל 9 שניות. מקסימום זמן צינתוק 16 שניות
Float


phones
מספרים לחיוג.  יבוארו האפשרויות למטה.




הסבר על זיהוי רנדומלי:
השירות מיועד למשל כדי לבצע אימות מספר טלפון באתרים וכד, בעת ציון של ערך זה לא ניתן לשלוח לרשימה של מספרים והמספר הראשון ברשימה כפי שנבחרה יקבל את השיחה.
בתגובה מהשרת יתמלא גם ערך verifyCode שמכיל את 4 הספרות האחרונות של הזיהוי ממנו יצא השיחה, ובערך callerId בתגובה מהשרת יהיה כתוב RAND. תוכלו לבצע אימות של הלקוח בצורה שאתם מבקשים ממנו להקיש את ה4 ספרות האחרונות של המספר ממנו הוא  קיבל את השיחה ואתם משווים את זה עם verifyCode.
במקרה שהשיחה לא מזיהוי רנדומלי ערך verifyCode יהיה ריק.
צורות אפשרויות להגשת רשימת המספרים לחיוג:
כאשר הפניה היא בGET או בPOST שהוא לא jsos (Content-Type: application/json) יש 3  אפשריות:

רשימה מפורשת עם הפרדה של : בין מספר למספר
מספרים מתוך רשימת תפוצה קיימת על ידי ציון tpl:XX כשאשר במקום הXX יש לכתוב את מזהה רשימת התפוצה.
צינתוק לרשימת צינתוק חינמי (שימו לב הערה למטה בנוגע לאפשרויות שליחה לכמה רשימות צינתוקים חינמיים) על ידי ציון tzl:XX כאשר במקום XX יש לכתוב את מספר הרשימה במערכת.
כאשר הפניה היא json - ניתן גם לשלוח את רשימת המספרים כמערך:

{
    "phones": [
        "0510000",
        "0510001",
        "0510002",
        "0510003"
    ]
}

או כמערך עם אובייקטים לצורך ציון זיהוי יוצא ספציפי לכל מספר:
{
    "phones": [
        {
            "phone": "0511111",
            "callerId": "077313"
        },
        {
            "phone": "05111333",
            "callerId": "07731344"
        }
    ]
}

או על אותו הדרך עם קבוצות:
"phones": [
        {
            "phones": [
                "0511111",
                "051111221"
            ],
            "callerId": "077313"
        },
        {
            "phones": [
                "0511111999"
            ],
            "callerId": "077414"
        }
    ]

ואז ניתן להוציא צינתוק לרשימת מספרים עם ״זיהוי שיחה מתחלף״.

שליחת צינתוקים לכמה רשימות צינתוקים חינמיים יחד:
השירות מוגבל ל50 רשימות בקריאה.
בעת שליחת צינתוק לרשימת צינתוקים חינמיים ניתן להפעיל קמפיין אחד לכמה רשימות יחד.
מספרים הנמצאים בכמה מהרשימות יקבלו צינתוק אחד בלבד.
על מנת לציין כמה רשימות ניתן או לחלק את הרשימות על ידי , אחרי ציון tzl:. למשל, כדי לשלוח לרשימה 100 ולרשימה 200 ו 300 יש לציין: tzl:100,200,300.
במידה ששמות הרשימות מכילות את התו , זה ייצור בעיות, ולכן אפשר גם לציין את זה כמערך, זאת במידה שהשליחה היא בPOST - json באופן שבphones מציינים רק  tzl: ואת הרשימות בפרמטר tzintukLists. כמו בדוגמא הבאה:
{
    "phones": "tzl:",
    "tzintukLists": [
        "100",
        "200",
        "בית ספר, כיתה ג",
        "משרד, מזכירות"
    ]
}

מאפייני תגובת השרת בתגובה מוצלחת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
sting
סטטוס הפעולה
OK


verifyCode
sting
4 ספרות אחרונות של הזיהוי היוצא לצורכי אימות. יהיה מלא רק במידה שהשיחה מזיהוי רנדומלי.
9835


callerId
sting
זיהוי השיחה היוצא
0773137770


callsCount
int
כמות שיחות יוצאות
3


bilingPerCall
int
תשלום לכל שיחה
0.1


biling
int
כמות תשלום כולל
0.3


errors
array
מערך של מספרי טלפון שלא נשלח אילהם השיחה כולל הסיבה.
מתחת לטבלא



דוגמא לפירוט שגיאות במערך "errors":
{
05832XXXXX: "blocked", // חסום
0773137770: "double", // מספר כפול
*8080: "notValid" // מספר לא תקין
}


ניהול רשימות צינתוקים במודול צינתוקים חינמיים
הפקודה היא - TzintukimListManagement
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


action
פעולה לביצוע, ערך חובה. יוסברו הפעולות מטה
string


TzintukimList
מספר הרשימה. לא חובה כאשר מבקשים לקבל את רשימת הצינתוקים
string




פעולה: getlists
מחזיר את כל רשימות הצינתוקים בתוך מערך "lists"
מאפייני תגובת השרת בתגובה מוצלחת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


lists
array
מערך של הרשימות, ראה טבלא למטה




כל אובייקט במערך lists מכיל 2 ערכים:



מאפיין
סוג
הסבר
דוגמא




listName
string
שם הרשימה
120


subscribers
int
כמות רשומים
7




פעולה: getlistEnteres.
חובה לצרף ערך TzintukimList
מחזיר את רשימת המספרים המנויים  לרשימה
מאפייני תגובת השרת בתגובה מוצלחת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


listName
string
שם הרשימה
1844


countSubscribers
int
כמות הרשומים
7


enteres
array
מערך של המספרים ושמות שלהם.




 השמות נטענים מקובץ 'PhonesName.ini' מהשלוחה הראשית, תבנית הקובץ צריכה להכיל "טלפון=שם"
כל אובייקט במערך enteres מכיל:



מאפיין
סוג
הסבר
דוגמא




phone
string
מספר הטלפון הרשום



name
string
השם של מספר הטלפון הרשום כפי שנטען מקובץ PhonesName.ini





פעולה: getLogList
חובה לצרף ערך TzintukimList
מחזיר את לוג הפעולות שבוצעו על הרשימה
מאפייני תגובת השרת בתגובה מוצלחת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


events
array
מערך של האירועים, ראה טבלה




כל אובייקט במערך events מכיל:



מאפיין
סוג
הסבר
דוגמא




Folder
string
שלוחה במערכת
1/2


CustomerDID
string
מספר המערכת
0773137770


Phone
string
מבצע הפעולה
0533137770


Date
string
תאריך
19/01/2021


Time
string
שעת ביצוע
00:39:10


TypeOperation
string
סוג הפעולה
מצורף למטה הסוגים


PhoneAction
string
פעולה על טלפון
(הערך יהיה מלא במידה שמדובר בפעולה על טלפון מסויים ברשימה)



הסוגים האפשריים בTypeOperation:
AddToListTzintuk // הוספה לרשימה
RunTzintuk // הפעלת צינתוק
RemovingToListTzintuk // הסרה מהרשימה
AdminRemovingToListTzintuk // מנהל הסיר מספר מהרשימה
ResetToListTzintuk // הרשימה אופסה


פעולה: resetList
חובה לצרף ערך TzintukimList
מאפס רשימת צינתוקים
מאפייני תגובת השרת בתגובה מוצלחת:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


list
string
הרשימה שאופסה




באם תיהיה שגיאה יחזיר שגיאה


שליחת פקס
הפקודה היא - SendFax
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


pdfFile
קובץ לשליחה. יבואר 2 אפשרויות
string


phone
לאן לשלוח
string


callerId
זיהוי שיחה יוצאת. בחירת מחדל הזיהוי של המערכת הראשי
string


deliveryUrl
כתובת לקבלת דוח מסירה
string




pdfFile
ניתן לציין נתיב של קובץ מתוך המערכת, למשל: ivr2://FaxTest.pdf וישלח את קובץ "FaxTest.pdf" שתחת השלוחה הראשית. אפשר גם לציין את זה: /FaxTest.pdf, רק חשוב ה/ בהתחלה.
בנוסף, ניתן להעלות קובץ ספציפי, לצורך כך יש לציין בערך UPLOAD
ואז יש להעלות את הקובץ בערך "fileToUpload, כמובן בעת שימוש באפשרות זו הפניה חייבת להיות בPOST מסוג multipart/form-data

deliveryUrl יש לציין URL מלא לקבלת דוח מסירה. למשל: http://127.0.0.6:18358/FaxDel, הפניות ישלחו בPOST בלבד ויכילו את הערכים הבאים:
לכל הפניות יצורף ערך CampaignId שתוכלו להשוות אותו עם ערך CampaignId שמתקבל בהצלחה.
לכל הפניות יצורף ערך Delivery המכיל את סטטוס המסירה.

במידה שDelivery הוא NoAnswer יצורף ערך DIALSTATUS המכיל את התשובה של החיוג ללקוח.
במידה שDelivery הוא End יצורף ערך status המכיל את התשובה מצד מנוע הפקס. תשובה של מסירה מוצלחת תיהיה SUCCESS בערך status.
במידה שDelivery הוא Answer זה אומר שהשיחה נענת, מציין שהעברת הפקס התחילה.


על כל שליחה של פקס יש חיוב של 0.1 יחידות על עצם השליחה ובנוסף חיוב יחסי לפי הזמן של השיחה הפעילה - בחישוב של יחידה לדקה. אם זמן השליחה לקח 3 דקות תחוייבו בנוסף 3 יחידות, בנוסף, לא ניתן להפעיל שיחת פקס אם אין ספייר במערכת של יותר מ5 יחידות מהחיוב על השיחה עצמה.
מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


callerId
string
זיהוי השיחה היוצאת
0773137770


CampaignId
string
מזהה הקמפיין
WSOC-LC-2021-08-28-21-40-49-083


deliveryUrl
string
מציין את הכתובת למסירה באם צויינה
http://127.0.0.6:18358/FaxDel


fileNameSend
string
שם הקובץ שנשלח
ivr2://FaxTest.pdf


callsCount
int
כמות שיחות יוצאות
1


bilingPerCall
float
חיוב לכל שיחה
0.1


biling
float
כמות חיוב בפועל
0.1



בעת שגיאה תפורט השגיאה והבעיה.


בדיקה האם קובץ קיים
הפקודה היא - CheckIfFileExists
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


path
נתיב במערכת. דוגמאות למטה
string




אפשרויות ציון קבצים ניתן לציין בכל אחד מהצורות מטה:
לצורך הדוגמא כדי לחפש את קובץ ext.ini בשלוחה 4.
path=ivr2:/4/ext.ini

path=ivr2:4/ext.ini

path=ivr/4/ext.ini


מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


fileExists
bool
האם הקובץ קיים



path
string
המיקום שלו
ivr/1/ext.ini


שליחת סמסים
הפקודה היא - SendSms
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


from
זיהוי שולח, בחירת מחדל זיהוי המערכת הראשי. ניתן לכתוב מספר מאושר במערכת או מספר משני. ניתן גם לבצע שליחה משולח טקסטואלי (זיהוי טקסט), באם יש לכם צורך בזה יש לפנות לשירות הלקוחות עם סיבה.
string


message
תוכן ההודעה
string


sendFlashMessage
הודעת פלאש? מסרון פלאש (הודעת הבזק) ישלח ללקוח ויקפוץ בטלפון במסך מלא. האפשרות יכולה לא לעבוד בטלפונים מסויימים/במפעילים מסויימים ויתכן שנמענים מסויימים יזהו את המסרון כמסרון רגיל.
Boolean (0/1)


phones
נמענים בהפרדה של : בין כל מספר, או tpl:X על מנת לשלוח לרשימת תפוצה במערכת שבמקום הX יש לכתוב את מזהה הקמפיין
string



החיוב על שליחת סמס הוא 0.1 יחידה לכל 70 תוים בחיוב לכל מספר טלפון.
מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


message
string
תוכן ההודעה ששלחתם



from
string
הזיהוי ממנו יצאה ההודעה



sendCount
int
כמה הודעות נשלחו



Billing
float
תשלום



oks
array
מערך של מספרים אילהם נשלחה ההודעה



errors
object
אובייקט המכיל את המספרים שאילהם לא נשלחה ההודעה כולל הסיבה




במקרה של שגיאה השגיאה תפורט.


הקמת שיחת גישור
הפקודה היא - CreateBridgeCall
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


callerId
זיהוי השיחה היוצאת שתופיע על הצג לאורך הדרך
string


Phones
מספר טלפון לחיוג
string


BridgePhones
מספר טלפון לניתוב
string


DialSip
האם להפעיל מנגנון חיוג ל SIP (הסבר למטה)
0/1


DialSipExtension
האם להפעיל מנגנון חיוג לשלוחת SIP (הסבר למטה)
0/1


AccountNumber
מספר חשבון SIP במערכת (בחירת מחדל המספר הראשי)
int


SipExtension
במידה שזה שלוחת sip, יש לציין את השלוחה.
int


RecordCall
האם להקליט את השיחה
Boolean (0/1)


SendMailInCall
האם לשלוח הקלטה למייל
Boolean (0/1)


SendMailInCallTo
מייל ספציפי לשליחת ההקלטה. בחירת מחדל המייל המופיע במערכת
string



ערכים שיש להם בחירת מחדל:
callerId=מספר מערכת ראשי
RecordCall=0
SendMailInCall=0

הסבר אודות הפעלת שירות חיוג לחשבון SIP (DialSip):
השירות מאפשר לחייג לחשבון SIP קיים במערכת וממנו לגשר את השיחה באופן שלא יהיה עלות ניתוב כפול אלא רק עלות של הניתוב החיצוני - אחרי המענה בשלוחת SIP.
בעת הפעלת השירות ערך Phones לא משנה (עדיין חובה לשלוח אותו) והמספר שיקבע הוא המספר של חשבון הSIP/השלוחה של חשבון ה sip לפי הפרמטרים.
לא ניתן לחייג לשלוחת SIP שלא קיימת באותה המערכת.
בכל מקרה יש עלות של 0.1 יחידות על עצם הפעלת הקמפיין
החיוב על שליחת שיחה הוא 0.1 יחידה על עצם הקמת שיחת הגישור ואז לפי החישוב הבא:
יש כאן 2 מסלולי חיוב.
1: מהרגע שאני מוציא שיחה לנציג.
2: מהרגע שהלקוח המגושר ענה.
למשל, אם אני חייגתי לנציג 60 שניות, הוא חייג ללקוח - שהוא הלקוח המגושר. זמן החיוג היה 10 שניות ועוד 50 שניות הוא דיבר איתו, אז החיוב יחידות יהיה על 110 שניות:
60 שזה זמן השיחה הכללי, + 50 שניות של דיבור עם הלקוח המגושר. על זמן החיוג ללקוח המגושר הוא לא משלם.
מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


CampaignId
string
מזהה קמפיין
WSOC-LC-2021-11-23-15-10-15-276


callerId
string
זיהוי השיחה



callsCount
int
כמות שיחות
1


bilingPerCall
float
עלות של כל שיחה



biling
string
סך הכל חיוב



SendMailInCall
Boolean




RecordCall
Boolean




SendMailInCallTo
string





כמובן, הערכים הקשורים לחיוב שמתקבלים בתגובה מציינים את החיוג על הפעלה הקמפיין ולא על החיוב הסופי שמחושב בנפרד.
במקרה של שגיאה השגיאה תפורט.


קבלת מידע בזמן אמת על שלוחת תור
הפקודה היא - GetQueueRealTime
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


queuePath
נתיב שלוחת התור במערכת. לשלוחה ראשית: . או לשלוחות פניומיות: /1/2
string



מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


queueData
Object
מידע כללי על התור
דוגמא בטבלא למטה


members
array
מידע על הנציגים
דוגמא בטבלא למטה


entries
array
מידע על הממתינים
דוגמא בטבלא למטה



שימו לב! כל הסטטיסטיקות של הנציגים בזמן אמת מתאפסת בעת שינוי קובץ queue.ini שבשלוחה.

פירוט של "queueData":



ערך
סוג
הסבר




Abandoned
int
שיחות שננטשו


Calls
int
לקוחות ממתינים


Completed
int
שיחות שהושלמו


TalkTime
int
זמן שיחות


Holdtime
int
זמן המתנה


Max
int
מקסימום שיחות בתור


Strategy
string
סוג התור




פירוט של כל אובייקט במערך  "members":



ערך
סוג
הסבר




agent
string
מספר הנציג


Status
string
סטטוס נציג. 1 פנוי 2 תפוס


CallsTaken
int
שיחות שהנציג לקח


LastCallUnitTime
string
זמן השיחה האחרונה שהוא לקח ב unit time


LastCall
string
זמן של השיחה האחרונה שלקח


LastCallAgo
string
לפני כמה זמן לקח שיחה אחרונה, למשל: 4 דקות, 33 שניות


Paused
Boolean
האם הנציג בהפסקה


Penalty
string
עדיפות הנציג בתור




פירוט של כל אובייקט במערך  "entries":



ערך
סוג
הסבר




phone
string
מספר הלקוח


Wait
string
זמן המתנה בשניות


WaitAgo
string
כמה זמן הלקוח ממתין, למשל: 7 דקות, 23 שניות


Position
string
מיקום בתור


CallId
string
מזהה שיחת תור לצורך ביצוע פעולות



במקרה של שגיאה השגיאה תפורט.


קבלת מידע על המערכת
הפקודה היא - GetCustomerData
הפרמטרים הנדרשים:



פרמטר
תיאור / הערות




token
טוקן



מאפייני תגובת השרת:



מאפיין
סוג
ערך




mainDid
string
מספר המערכת הראשי


secondary_dids
array
מערך של מספרים משניים (ראה להלן)


callerIds
array
מערך של מספרי ספיישל לשיחות יוצאות (ראה להלן)


name
string
שם לקוח


expiredUnits
boolean
האם יחידות פגו תוקף


unitsExpireDate
string
תאריך תפוגה של היחידות


email
string
כתובת אימייל


organization
string
שם ארגון


contactName
string
שם איש קשר


phones
string
טלפון


invoiceName
string
חשבונית על שם


invoiceAddress
string
כתובת למשלוח חשבונית


fax
string
פקס


accessPassword
string
סיסמת גישה למערכת


units
string
כמות היחידות שבמערכת


recordPassword
string
סיסמת הקלטות


resellerCreditFile
string
שם משווק


systemSite
string
אתר מערכת (לדוגמה: yemot ymt ymta ymtb)


pirsumPhoneStatus
Boolean
האם המערכת פעילה ב"פרסומפון"


ivrType
string
סוג המערכת (יפורט הסוגים)




בתוך מערך secondary_dids (מספרים משניים) יופיעו האובייקטים הבאים



אובייקט
תיאור
דוגמה




id
מזהה מספר משנה
100


did
מספר משנה
0773137770


usage
שימוש
goto:/1




בתוך מערך callerIds (מספרי ספיישל) יופיעו האובייקטים הבאים



אובייקט
תיאור
דוגמה




callerId
מספר מאושר לזיהוי יוצא
0773137770


expiryDate
פג תוקף של האישור לזיהוי
2025-04-18+01:39:27 (במקום + יופיע רווח)




הסוגים שאפשריים ב ivrType



סוג
תיאור
הערה




CAMPAIGN
חייגן - מערכת קמפיינים



EMERGENCY
חייגן חירום



IVR1
מערכת IVR1
מערכת שיצאה מתמיכה


IVR2
מערכת תוכן - IVR2



SPECIAL
מערכת מיוחדת
לא נפוץ


WHATSAPP_PHONE
וואצפון
למערכות וואצפון אין גישה בAPI


QUEUE
תור
לא נפוץ


VIRTUAL_PLUS
וירטואל פלוס



WHATSAPP_PHONE_ADMIN
וואצפון מנהלים



DIAL_TO_SIP
חיוג למשתמש SIP



NEW_WHATSAPP_PHONE
וואצפון החדש


קבלת דוח קמפיין
הפקודה היא - ViewCampaignReports

הדוחות המתקבלים בממשק זה הם דוחות על קמפיינים שפירוט החיוב שלהם מתחיל ב
Start-YA-

בלבד.
למשל:


הפרמטרים הנדרשים:



פרמטר
סוג
ערך
דוגמא




token
string
טוקן



CampaignId
string
מזהה הקמפיין המבוקש. מזהה הקמפיין הוא כפי המופיע בדוח היחידות עם הסרה של Start-YA- מההתחלה.
SMS-3-0773137770-Yemot-1641217161871


json
Boolean
יש לשלוח ערך 1 על מנת לקבל מידע ב JSON
1



מאפייני תגובת השרת:
במידה שהבקשה תקינה, ערך "report" יכיל את הדוח של הקמפיין.
שימו לב, מבנה התגובה של הדוחות יוכל להשתנות בהתאם לסוג הקמפיין, ההסבר כרגע הוא על דוח של קמפיין סמס:



מאפיין
סוג
ערך




CampaignData
Object
מידע כללי על הקמפיין


report
Object
כל איבר באובייקט הוא מספר טלפון שאליו נשלח הקמפיין ומכיל את המידע עליו.



דוגמא למבנה מלא של דוח סמס:


הוספה ואימות של זיהוי ספיישל
אימות תקף לשנה אחת. לאחר שנה מהאימות המספר יוסר ויהיה צורך לאמת אותו בשנית. אימות של מספר קיים יאריך את תוקף האימות של המספר בשנה מזמן האימות.
הפקודה היא - ValidationCallerId
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


action
פעולה - (send/valid) להלן יפורטו הפעולות והפרמטרים
string



פעולה: send - שליחת בקשת אימות:
הפרמטרים לפעולה send :



פרמטר
תיאור
סוג




callerId
המספר להוספה
string


validType
סוג האימות. SMS / CALL
string



שליחת סמס/שיחת אימות הינה בעלות יחידות לפי התעריף הרגיל.
בתגובה תקינה יחזור:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


reqId
string
מזהה בקשת אימות. איתה יש לפנות על מנת לבצע אימות בפועל





פעולה: valid - אימות:
הפרמטרים לפעולה valid:



פרמטר
תיאור
סוג




reId
מזהה בקשת אימות שהתקבל בפעולת send
string


code
קוד האימות
string



בתגובה תקינה יחזור:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


status
Boolean
סטטוס הוספת זיהוי הספשייל. true בהצלחה


מערכת תזמון משימות
שימו לב, לע"ע לא יכול להיות מעל  10 משימות פעילות בכל לקוח.
הפקודה היא - GetTasks
קבלת רשימת המשימות במערכת.
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


limit
הגבלה לתוצאות (בחירת מחדל 100)
int



בתגובה תקינה יחזור מערך tasks המכיל בכל אובייקט משימה עם הפרטים הבאים:



מאפיין
סוג
הסבר
דוגמא




id
int
מזהה משימה (נדרש לביצוע פעולות, מחיקת משימה, עידכון משימה או קבלת לוגים)
1


description
string
תיאור חופשי של המשימה



type
string
סוג המשימה



createTs
string
זמן יצירה



status
string
סטטוס המשימה



active
Boolean(0/1)
האם פעילה



sendMailInEnd
Boolean(0/1)
האם מוגדר לקבל מייל בעת סיום מוצלח



sendMailInError
Boolean(0/1)
האם מוגדר לקבל מייל בעת סיום בשגיאה



nextRun
string
זמן ריצה הבא





הפקודה היא - GetTasksData
קבלת מידע מפורט על משימה מסויימת
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


TaskId
מזהה משימה
int



בתגובה תקינה יחזור:
ערכים מוגדשים הם ערכים שנוספו על המידע המתקבל בתוך המערך של רשימת המשימות הכללית



מאפיין
סוג
הסבר
דוגמא




id
int
מזהה משימה (נדרש לביצוע פעולות, מחיקת משימה, עידכון משימה או קבלת לוגים)
1


description
string
תיאור חופשי של המשימה



type
string
סוג המשימה



createTs
string
זמן יצירה



status
string
סטטוס המשימה



active
Boolean(0/1)
האם פעילה



sendMailInEnd
Boolean(0/1)
האם מוגדר לקבל מייל בעת סיום מוצלח



sendMailInError
Boolean(0/1)
האם מוגדר לקבל מייל בעת סיום בשגיאה



nextRun
string
זמן ריצה הבא



updateTs
string
זמן עדכון



lastRun
string
זמן ריצה אחרון



minute
int
הגדרת זמן ריצה: דקה



hour
int
הגדרת זמן ריצה: שעה



year
int
הגדרת זמן ריצה: שנה



day
int
הגדרת זמן ריצה: יום בחודש



month
int
הגדרת זמן ריצה: חודש



days_of_week
string
הגדרת זמן ריצה: ימים בשבוע (ימים מופרדים בפסיקים 0=יום ראשון - 6=יום שבת)



action_data
JSON
מידע למנוע המשימות על הפעולות לביצוע במשימה





הפקודה היא - GetTasksLogs
קבלת לוג הפעלות על משימה מסויימת
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


TaskId
מזהה משימה
int



בתגובה תקינה יחזור ערך logs המכיל מערך שכל אובייקט מכיל את הפרטים הבאים:
ערכים מוגדשים הם ערכים שנוספו על המידע המתקבל בתוך המערך של רשימת המשימות הכללית



מאפיין
סוג
הסבר
דוגמא




id
int
מזהה הפעלת המשימה
1


succeeded
Boolean(0/1)
האם הסטטוס הוא מוצלח



error_message
string
פירוט שגיאה
Campaign Id does Not found in customer


ts
string
זמן ההפעלה





הפקודה היא - CreateTask
יצירת משימה חדשה
הפרמטרים הנדרשים
פרמטרי זמן ריצה שלא נשלחים נחשבים כ null - ללא התחשבות



פרמטר
סוג
תיאור
מידע נוסף




token
string
טוקן



description
string
תיאור חופשי של המשימה



minute
int
הגדרת זמן ריצה: דקה



hour
int
הגדרת זמן ריצה: שעה



year
int
הגדרת זמן ריצה: שנה



day
int
הגדרת זמן ריצה: יום בחודש



month
int
הגדרת זמן ריצה: חודש



active
Boolean(0/1)
האם משימה פעילה



checkIsKodesh
Boolean(0/1)
האם למנוע מהמשימה לרוץ בשבתות וחגים



mailInEnd
Boolean(0/1)
האם לשלוח מייל בסיום מוצלח



mailInError
Boolean(0/1)
האם לשלוח מייל בסיום בכישלון



ifAnyDay
Boolean(0/1)
אם זה 1 אז כל לא בודק התחשבנות ב  days



days
(string(JSON
סטרינג המכיל JSON לפי הדוגמא מטה, כל איבר באובייקט המפתח שלו הוא יום. במידה שערך זה לא יהיה תקין יכנס null - כל הימים בשבוע



taskType
string
סוג משימה
כרגע יכול להיות: SendSMS / RunTzintuk/MoveOnFile


callerId
string
זיהוי יוצא
רלוונטי לסוגי משימות SendSMS / RunTzintuk


toList
string
מזהה / שם רשימה
רלוונטי לסוגי משימותRunTzintuk


smsList
string
מזהה רשימת תפוצה
רלוונטי לסוגי משימותSendSMS


typeList
string
סוג רשימה
רלוונטי לסוגי משימותRunTzintuk. יכול להיות tpl / tzl


smsMessage
string
טקסט להודעת סמס
רלוונטי לסוגי משימותSendSMS


folder
string
תיקיית מקור
רלוונטי לסוגי משימותMoveOnFile


target
string
תיקיית יעד
רלוונטי לסוגי משימותMoveOnFile


moveFileType
string
סוג קובץ, maxFile/minFile
רלוונטי לסוגי משימותMoveOnFile


blockMoveIfNewFileInMinutes
int
חסימת העברת הקובץ במידה שבשלוחת היעד קיים קובץ שהוקלט בטווח הדקות שמצויין
רלוונטי לסוגי משימותMoveOnFile



דוגמא לסטרינג JSON המכיל מידע על ימי הפעילות:
{"0":1,"1":0,"2":1,"3":1,"4":0,"5":0,"6":0}

כלומר - כל key הוא יום. כל valus אומר ב 0 / 1 האם היום פעיל או לא.
בדוגמא למעלה רק ימים ראשון ושלישי מאופשרים.
להזכירכם: 0-זה יום ראשון ו6-זה יום שבת
בתגובה תקינה יחזור:



מאפיין
סוג
הסבר
דוגמא




id
int
מזהה הפעלת המשימה
1


jobId
int
מזהה משימה שנוצרה



ActionData
object
אובייקט עם מידע על המשימה נכון לאיך שהיא נקלטה





הפקודה היא - UpdateTask
עידכון זמני ריצה של משימה קיימת.

לא ניתן לשנות את סוג המשימה או את הדברים שהמשימה עושה

הפרמטרים הנדרשים
פרמטרי זמן ריצה שלא נשלחים נחשבים כ null - ללא התחשבות



פרמטר
סוג
תיאור
מידע נוסף




token
string
טוקן



TaskId
int
מזהה משימה לעריכה
חובה


description
string
תיאור חופשי של המשימה



minute
int
הגדרת זמן ריצה: דקה



hour
int
הגדרת זמן ריצה: שעה



year
int
הגדרת זמן ריצה: שנה



day
int
הגדרת זמן ריצה: יום בחודש



month
int
הגדרת זמן ריצה: חודש



active
Boolean(0/1)
האם משימה פעילה



mailInEnd
Boolean(0/1)
האם לשלוח מייל בסיום מוצלח



mailInError
Boolean(0/1)
האם לשלוח מייל בסיום בכישלון



ifAnyDay
Boolean(0/1)
אם זה 1 אז כל לא בודק התחשבנות ב  days



days
(string(JSON
סטרינג המכיל JSON לפי הדוגמא מטה, כל איבר באובייקט המפתח שלו הוא יום. במידה שערך זה לא יהיה תקין יכנס null - כל הימים בשבוע




דוגמא לסטרינג JSON המכיל מידע על ימי הפעילות:
{"0":1,"1":0,"2":1,"3":1,"4":0,"5":0,"6":0}

כלומר - כל key הוא יום. כל valus אומר ב 0 / 1 האם היום פעיל או לא.
בדוגמא למעלה רק ימים ראשון ושלישי מאופשרים.
להזכירכם: 0-זה יום ראשון ו6-זה יום שבת
בתגובה תקינה יחזור:



מאפיין
סוג
הסבר
דוגמא




status
Boolean
יהיה true





הפקודה היא - DeleteTask
מחיקת משימה
הפרמטרים הנדרשים



פרמטר
סוג
תיאור
מידע נוסף




token
string
טוקן



TaskId
int
מזהה משימה למחיקה




בתגובה תקינה יחזור:



מאפיין
סוג
הסבר
דוגמא




status
int
מספר המשימות שנמחקו


שליחת קמפיין הודעת TTS
הפקודה היא - SendTTS
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


callerId
זיהוי שולח, בחירת מחדל זיהוי המערכת הראשי. ניתן לכתוב מספר מאושר במערכת או מספר משני.
string


ttsMessage
תוכן הטקסט
string


callbackUrl
קישור לקבלת hooks בזמן אמת על סטטוס הקמפיין (הסבר למטה)
string


repeatFile
כמה פעמים לחזור על ההשמעה. בחירת מחדל 2 פעמים.
int


ttsRate
מהירות השמעה כאשר 10 זה הכי מהיר ו 10- זה הכי לאט (בחירת מחדל רגיל)
int


ttsVoice
הקול של ההשמעה (מידע על הקולות כאן)
string


SendMail
האם לקבל דוח קמפיין
0/1


phones
נמענים בהפרדה של : בין כל מספר, או tpl:X על מנת לשלוח לרשימת תפוצה במערכת שבמקום הX יש לכתוב את מזהה הקמפיין. ניתן גם לקחת את המספרים מרשימת צינתוקים חינמית (בעלות יחידות מלאה!) על ידי ציון tzl:XX ובמקום XX את שם הרשימה.
string



החיוב על שליחת שיחה TTS הוא יחידה לדקה ראשונה ואחריה חיוב יחסי של יחידה לדקה.
מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


CampaignId
string
מזהה קמפיין



OKCalls
int
ספירת שיחות מוצלחות



ErrorCalls
object
שיחות שגויות וסיבה



billing
float
עלות



units
string
יחידות בלקוח




במקרה של שגיאה השגיאה תפורט.

הסבר ודוגמא בנוגע לקבלת hooks בזמן אמת על סטטוס הקמפיין:
באם מציינים פרמטר callbackUrl המערכת תשלח בזמן אמת בעת פעילות הקמפיין לשרת שלכם את סטטוס השיחות.
הדבר אפשרי בעת הפעלה לרשימה של עד 500 מספרים לע״ע.
הפניות יגיעו לכתובת שלכם בPOST באופן הבא:

בעת שיחה שנענתה:
{
  "CampaignId": "YA-3-xxxxx-Yemot-1672066954231731",
  "Number": "077xxxxx",
  "Status": "UP",
  "Time": 1672066959116
}


בעת שיחה שנכשלה:
{
  "CampaignId": "YA-3-xxxxx-Yemot-1672066954231731",
  "Number": "077xxxxx",
  "Status": "FAILD",
  "Time": 1672066959865,
  "FailReason": "5"
}


בעת שיחה שהסתיימה:
{
  "CampaignId": "YA-3-xxxxx-Yemot-1672067627514828",
  "Number": "077xxxxx",
  "Status": "DOWN",
  "Time": 1672067636731,
  "CallTimeMS": 4969,
  "BridgeCallStart": null,
  "BridgeCallStop": null
}


בעת סיום הקמפיין:
{
  "CampaignId": "YA-3-xxxxx-Yemot-1672068098471003",
  "Number": null,
  "Status": "END",
  "Time": 1672068114027,
  "moreData": {
    "CampaignBilling": 3,
    "notEnteris": 0,
    "enteris": 3,
    "done": 2,
    "fail": 1,
    "createTS": "2022-12-26 17:21:38",
    "runTS": "2022-12-26 17:21:38",
    "endTS": "2022-12-26 17:21:53"
  }
}


הפקת דוח מקובץ ymgr
הפקודה היא - RenderYMGRFile
הפרמטרים הנדרשים



פרמטר
תיאור
סוג
הערות / דוגמא




token
טוקן
string



wath
מיקום הקובץ במערכת
string
ivr2:/ymgtTest.ymgr


convertType
סוג הקובץ להנפקה. סוגים אפשריים:  html / csv / json
string
רק במקרה של בקשת json תיהיה תגובה של json ממש. בשאר המקרים התגובה תיהיה הקובץ עצמו (Blob)


notLoadLang
האם לא להשתמש בקבצי שפה/תרגום לעמודות/ערכים
0/1
באם ערך זה הוא 1 התרגום יהיה נקי ומדוייק של הymgr ללא תוספות/הסתרות עמודות/שינויי שמות לעמודות. כבחירת מחדל מבצע תרגום גם שמבקשים json.


renderLanguage
שפת חיפוש תרגומים
[A-Z]
ניתן לבקש תרגום לפי שפה. בחירת מחדל HE.




חישוב סדר המרת ותרגום עמודות:
כל שלב דורס תרגום קודם באופן שהוא לא מוחק אותו אלא דורס תרגומים שיש עליהם הגדרה ספציפית.

קובץ ראשי - יש תרגום כללי (בשרת של ימות המשיח).
קובץ ספציפי (למשל, קובץ ל ApprovalAll)
קובץ ברמת מערכת לפי השפה שנבחרה.. למשל מחפש קובץ: YMGRLangs\EN\ApprovalAll.ini
קובץ ברמת מערכת - מחפש את שם הקובץ בסיומת ini בתוך תיקייה YMGRLangs שצריכה להיות תחת התיקיה הראשית של המערכת שבתוכה קובץ הini.
קובץ ברמת שלוחה לפי השפה שנבחרה.. למשל מחפש קובץ: main\1\2\EN\ApprovalAll.ini
קובץ בשלוחה  - קובץ באותה השלוחה של קובץ הymgr עם סיומת ini.

שימו לב! רמת שפה היא רמת מתחת קובץ ללא שפה. למשל, אם אני בוחר שפה EN אבל בקובץ בשלוחה לא בתיקיה של השפה יש לי ערכים המערכת תתחשב בתרגום שלהם.

המענה בעת ההצלחה הוא הקובץ, כמו שנאמר, או במקרה של json:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


yALogsVersion
string
גירסת מערכת



data
array
מערך שמכיל את תוכן הקובץ




במקרה של שגיאה השגיאה תפורט כתגובה בjson.


קבלת תנועות יחידות סמסים
הפקודה היא - GetCustomerSmsTransactions
הפרמטרים הנדרשים



פרמטר
תיאור
סוג
הערות / דוגמא




token
טוקן
string




מביא 2000 תנועות אחרונות




מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


yAfastVersion
string
גירסת מערכת



rows
array
מערך תנועות




פירוט איבר במערך:



שם
תיאור




transactionTime
זמן תנועה


amount
סכום תנועה ביחידות


description
תיאור החיוב


newBalance
יתרת יחידות עדכנית בביצוע הפעולה


expireDate
תאריך תפוגה עדכני בביצוע הפעולה


who
מבצע הפעולה


בדיקה האם תיקייה קיימת
הפקודה היא - CheckIfFolderExists
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


path
נתיב במערכת. דוגמאות למטה
string




מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


folderExists
bool
האם התיקייה קיימת



path
string
המיקום שלה
ivr/10


חשבונות SIP

תיעוד api הנוגע לחשבונות SIP

מאפיינים
לכל חשבון SIP במערכת יש מספר מאפיינים

מספר החשבון במערכת (למשל 1 2 וכן הלאה)
שם המשתמש להתחברות
בדרך כלל שם המשתמש מורכב ממספר המערכת ומספר החשבון.
למשל 0772222770=2 זהו שם המשתמש של חשבון 2 במערכת 0772222770
מספר שלוחה - כל מספר שנמצא בטווח מ-200 ועד 10,000
מספר שלוחה הינו מאפיין הנתון לבחירה של מנהל המערכת וניתן לשנות אותו בכל עת.
הדבר משמש עבור חיוגים פנימיים בין החשבונות. (למשל כדי לחייג משלוחה 200 לשלוחה 201 יש לחייג למספר "201" במקרה כזה מה שיופיע על הצג אצל מקבל השיחה זה "200")
סיסמת התחברות
פרוטוקול SIP להתקשרות (נכון לעכשיו התמיכה היא בפרוטוקולים UDP WSS)
איזור שלוחה (extensionClass) - קוד לקיבוץ שלוחות לאיזורים (למשל floor1, jerusalem). הקוד מכיל אותיות באנגלית, ספרות, מקף (-) וקו תחתון (_) בלבד - ללא רווחים או תווים אחרים. ניתן להגדיר לקוד שם תצוגה חופשי (עברית/רווחים) דרך שירות ההגדרות SipAccountsSettings. האיזור מוצג במערכת הזמן-אמת ובלוגים - לפי ה extensionClass בלבד. התיאורים שמוגדרים ב SipAccountsSettings ניתנים למימוש בצד לקוח, ואצלנו הם רק נשמרים.
תיאור שלוחה (extensionNote) - טקסט חופשי לזיהוי נוח של השלוחה במערכת.


ייחודיות מספר שלוחה: מספר השלוחה ייחודי ביחד עם האיזור - אותו מספר שלוחה מותר במספר איזורים שונים, ובלבד שהצמד (מספר שלוחה + איזור) ייחודי. שלוחות ללא איזור נחשבות לאותו "איזור ריק".


חיוג בין איזורים / נעילת שלוחות: ברירת המחדל - חיוג למספר שלוחה מחפש קודם באיזור של החשבון המחייג, ואם לא נמצא - בכל המערכת (החשבון הראשון שנוצר יקבל את השיחה). ניתן להפעיל "נעילה" (גלובלית או לפי איזור) דרך SipAccountsSettings, ואז חיוג מחוץ לאיזור של המחייג לא יגיע לאף אחד - גם בחיוג לפי מספר שלוחה וגם בחיוג ישיר לפי מספר חשבון מלא.


יצירת חשבון
הפקודה היא - CreateSipAccount
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


extNumber
אפשר לציין מספר שלוחה. לא חובה. מספר שלוחה יכול להיות בין 200 ל10000.
int


extensionClass
איזור שלוחה. לא חובה. קוד באותיות אנגלית/ספרות/-/_ בלבד (ראה מאפיינים למעלה).
string


extensionNote
תיאור שלוחה חופשי. לא חובה.
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


accountID
string
שם המשתמש שם החשבון שנוצר.



accountNumber
int
מספר החשבון במערכת (לא מספר שלוחה)



PASS
string
הסיסמה של החשבון להתחברות





אם צוין extNumber יחד עם extensionClass, הייחודיות נבדקת על הצמד - אם המספר כבר תפוס באותו אזור תוחזר שגיאה. אם extensionClass מכיל תווים לא חוקיים תוחזר שגיאה.


קבלת רשימת החשבונות במערכת
הפקודה היא - GetSipAccountsInCustomer
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


accounts
array
מערך חשבונות



accountLimit
int
כמות החשבונות שהלקוח יכול ליצור במערכת
6



מערך החשבונות



מאפיין
סוג
הסבר
דוגמא




id
string
שם המשתמש של החשבון



accountNumber
int
מספר חשבון במערכת



customerExtension
int
מספר שלוחה, אם מוגדר



extensionClass
string|null
איזור שלוחה (קוד), אם מוגדר
"floor1"


extensionNote
string|null
תיאור שלוחה חופשי, אם מוגדר



transport
string
סוג התקשורת המותרת בחשבון. transport-udp \ transport-wss



callerid
string
מערכת לחיוב יחידות



specialCallerID
string
זיהוי מיוחד להוצאת שיחות



password
string
סיסמה להתחברות בsip



created_date
string
תאריך יצירה של החשבון





שם התצוגה של האיזור (התרגום) אינו מוחזר כאן - הוא נשמר בהגדרות (SipAccountsSettings). הערך extensionClass הוא תמיד הקוד הגולמי, ניתן לעשות את החיבור בינהם בצורה נפרדת, כמו שהוסבר.


שינוי התעבורה המותרת בחשבון - UDP \ WSS
מאפשר לשנות את סוג התעבורה המותרת. תיתן להתחבר לחשבונות הsip עם תקשורת של UDP או עם חיבור לwebsocet של שרת הסיפ, למשל כדי להטמיע את השירות בדפדפן על ידי פרוטוקול webRTC למשל בשימוש עם ספריית jssip.
הכתובת של שרת הsip להתחברות עם websocket היא wss://sip.yemot.co.il:8089/ws, החיבור הוא על בחיבור מאובטח בלבד (wss://).
הפקודה היא - SipToWss | SipToUdp
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


accountNumber
מספר החשבון, אם לא צוין מוגדר על החשבון הראשון
int



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK




הגדרת זיהוי יוצא קבוע
מאפשר להגדיר את הזיהוי היוצא של החשבון
מיותר לציין, שזה יעבוד רק אם המספר מאושר במערכת או שהוא מספר משנה + מספר ישראלי תקין.
הפקודה היא - EditCallerIdInSipAccount
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


accountNumber
מספר חשבון
int


callerId
זיהוי יוצא
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK



ניתן לבקש זיהוי יוצא מיוחד גם בעת השיחה עצמה ללא שינוי בהגדרות החשבון על ידי צירוף של header בשם X-YemotCallerId ל INTIVE של השיחה היוצאת.
במקרה של סתירה בין המופיע בהגדרות החשבון להגדרות השיחה הנוכחית, הגדרות השיחה יגברו.

מחיקת חשבון
הפקודה היא - DeleteSipAccount
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


accountNumber
מספר החשבון למחיקה כמספר, או מערך של מספרי חשבונות sip למחיקה.
int / array



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


affected_rows
int
מספר חשבונות הsip שנמחקו





ניהול פרטי שלוחה (מספר / איזור / תיאור)
הפקודה היא - SipExtensionManagement
מספר השלוחה, האיזור והתיאור נשמרים יחד בפעולה אחת (הייחודיות של מספר השלוחה תלויה באיזור, ולכן הם נשמרים כיחידה אחת).
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


action
פעולה לביצוע. Get לקבלת הפרטים ללא שינוי. Set לשמירה/עדכון.
string


accountNumber
מספר חשבון. ברירת מחדל: החשבון הראשון.
int


extNumber
מספר שלוחה. לא חובה בפעולת Get. בפעולת Set - אם לא צוין, מספר השלוחה יימחק (האיזור והתיאור יישמרו).
int


extensionClass
איזור שלוחה (קוד). רלוונטי רק ל-Set. שליחת ערך ריק מוחקת את האיזור.
string


extensionNote
תיאור שלוחה חופשי. רלוונטי רק ל-Set. שליחת ערך ריק מוחקת את התיאור.
string



מענה בעת הצלחה (זהה ל-Get ול-Set)



מאפיין
סוג
הסבר




responseStatus
string
סטטוס הפעולה (OK)


extNumber
int|null
מספר השלוחה (הערך המעודכן בפעולת Set)


extensionClass
string|null
קוד האיזור


extensionNote
string|null
תיאור השלוחה




אכיפת ייחודיות: אם צוין extNumber והצמד (מספר שלוחה + איזור) כבר תפוס - תוחזר שגיאה. אם extensionClass מכיל תווים לא חוקיים (משהו מלבד אותיות אנגלית/ספרות/-/_) - תוחזר שגיאה.


הגדרות כלליות לחשבונות ה-SIP
הפקודה היא - SipAccountsSettings
ניהול הגדרות כלליות למערכת, הנשמרות כאובייקט JSON יחיד. כרגע יש שתי הגדרות: טבלת תרגומי איזורים (שם תצוגה חופשי לכל קוד extensionClass), ומדיניות חיוג בין איזורים ("נעילת שלוחות"). ההגדרות הן ברמת המערכת (default) עם אפשרות לעקיפה לפי איזור (byClass).
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


action
Get לקבלת ההגדרות, Set לשמירה.
string


settings
רק ב-Set. אובייקט ההגדרות (או מחרוזת JSON שלו).
object / string(JSON)



מענה בעת הצלחה (זהה ל-Get ול-Set) - מחזיר את ההגדרות לאחר ניקוי ואימות:



מאפיין
סוג
הסבר




responseStatus
string
סטטוס הפעולה (OK)


settings
object
אובייקט ההגדרות (ראה מבנה למטה)



מבנה אובייקט settings
מומלץ תמיד לפנות ל Get ולשנות את המערך הקיים - כדי לא למחוק בטעות הגדרות שיתכן שלא מתועדות.



מאפיין
סוג
הסבר




version
number
גרסת מבנה (כרגע 1)


extensionClassLabels
object
מפה { "<קוד איזור>": "<שם תצוגה חופשי>" }. קוד האיזור חייב להיות אותיות אנגלית/ספרות/-/_ בלבד. שם התצוגה מיושם בצד הלקוח בכל מקום שבו מוצג האיזור.


crossZoneDialing.default
boolean
ברירת מחדל גלובלית. true = מותרת זליגה בין איזורים (ברירת המחדל). false = נעול - חיוג רק בתוך האיזור של המחייג.


crossZoneDialing.byClass
object
עקיפה לפי איזור: { "<קוד איזור>": true/false } (true = מותר, false = נעול). גובר על ה-default עבור אותו איזור בלבד.



משמעות הנעילה false: חשבון באיזור נעול יכול לחייג (במספר שלוחה או במספר חשבון מלא) רק לחשבונות באותו איזור - כאילו האיזור הוא מערכת נפרדת; חיוג לאיזור אחר לא יגיע לאף אחד. בכל מקרה חיוג פנימי מוגבל תמיד לחשבונות של אותו לקוח.
כאשר זליגה מותרת true: חיוג למספר שלוחה מחפש קודם באיזור של המחייג, ואם לא נמצא - בכל המערכת (החשבון הראשון שנוצר עם אותו מספר שלוחה זוכה).

ערכים לא חוקיים (קוד איזור עם תווים אסורים, טיפוס שגוי, שם תרגום ריק וכו') מסוננים בעת השמירה ואינם נשמרים, ולא יגרמו לשגיאה בכל הקריאה.

דוגמה לתגובה:
{
    "responseStatus": "OK",
    "settings": {
        "version": 1,
        "extensionClassLabels": {
            "floor1": "קומה 1",
            "jerusalem": "שירות לקוחות ירושלים"
        },
        "crossZoneDialing": {
            "default": true,
            "byClass": {
                "jerusalem": false
            }
        }
    }
}

בדוגמה: זליגה מותרת בכלל המערכת, פרט לאיזור jerusalem שנעול. לאיזורים הוגדרו שמות תצוגה בעברית.

מידע טכני נוסף על קבלת שיחות לחשבון SIP
בINVITE שמגיע מימות המשיח ללקוח בכל שיחה יש 2 header שנוספים בכל שיחה.
X-Yemot-Path = מספר השלוחה שממנה הגיע השיחה.
X-Yemot-CallID = מזהה השיחה. ניתן להשוות את זה עם מודול תור בשימוש עם  queue_api_send=yes, שם זה מגיע לשרת בערך YemotCallID.


שינוי שימוש (usage) של מספר משנה
הפקודה היא - SetSecondaryDidUsageDescription
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


secondaryDidId
מזהה המספר משנה. מתקבל במערך המספרים המשניים ב GetCustomerData
int


newUsage
שימוש חדש, כפי המוסבר מטה.
string



ניתן לשנות שימוש של מספר משנה לאחד משתי הקידומות האלה:
sip:[0-9]
goto:/[A-Za-z0-9א-ת/]

בנוסף, עם השימוש הישן הוא לא משהוא שאפשר לבחור אותו לא יתאפשר בכלל לשנות את השימוש.
הסבר על שימוש sip:X:
מאפשר לשייך מספר משנה למספר חשבון sip במערכת, כך שבחיוג ישיר למספר המשנה יגיעו לחשבון הsip. למשל, כדי לשייך לחשבון מספר 5 של המערכת יש לכתוב sip:5. גם ציון מספר שלוחה אפשרי ויחייג למספר השלוחה. האפשרות תעבור רק בשרתים תומכי sip.
הסבר על שימוש goto:/:
מאפשר לשייך מספר משנה לשלוחה ספציפית במערכת - למשל, כדי לשייך לשלוחה 1/20/11 יש לכתוב goto:/1/20/11.

מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


status
bool
הצלחה
ture


קבלת מידע כללי על תיקיה (שלוחה)
הפקודה היא GetIVR2DirStats
הפרמטרים הנדרשים



פרמטר
תיאור
הערות




token
טוקן
חובה


path
נתיב תיקייה
חובה. לדוגמה: / עבור שלוחה ראשית. 1 עבור שלוחה 1 ext/1 עבור שלוחה ext/1




מאפייני תגובת השרת



מאפיין
סוג
הסבר




type
string
סוג השלוחה


thisPath
string
נתיב תיקייה נוכחית


parentPath
string
נתיב תיקיית אב


dirsCount
int
כמות תיקיות בשלוחה


filesCount
int
כמות קבצים בשלוחה


contentFilesCount
int
כמות קבצי שמע בשלוחה


minFile
object
מידע על קובץ השמע הנמוך בשלוחה


maxFile
object
מידע על קובץ השמע הגבוה בשלוחה



מאפייני קובץ שמגיעים באובייקטים  minFile/maxFile



מאפיין
סוג
הסבר




exists
boolean
האם התיקייה/קובץ קיימים


name
string
שם התיקייה/קובץ


uniqueId
string
מזהה ייחודי לתיקייה/קובץ


what
string
נתיב תיקייה/קובץ


fileType
string
סוג תיקייה/קובץ


size
int
גודל קובץ (בבתים)


mtime
string
תאריך שינוי אחרון


duration

אורך (בדקות)


durationStr
string
אורך בפורמט mm:ss


customerDid
string
מספר מערכת בה נוצר הקובץ


meta
string
אובייקט המכיל מיגע נוסף על הקובץ


date
string
זמן יצירת קובץ dd/mm/yyyy hh:mm


source
string
מקור הקובץ


phone
string
טלפון יוצר הקובץ


ip
string
כתובת IP של מעלה הקובץ


ניהול תור אונליין

שימו לב, ניהול התור אונליין אפשרי לשיחות ממתינות בתור בלבד.
את הממתינים בתור מקבלים בשירות GetQueueRealTime - לכל ממתין יש מזהה שיחה.

הפקודה היא - QueueManagement
שימו לב, שירות זה מקבל מערך. לצורך זה ניתן לפנות אליו רק בPOST עם json בbody.
בכל פניה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string


queuePath
מיקום התור. זהה לצורה שבה שולחים שם תור ב GetQueueRealTime
string


callIds
מערך מזהי שיחות תור (מתקבל גם ב GetQueueRealTime במערך הממתינים
array


action
פעולה לביצוע
string


moreData
הוראות נוספות - רשות
string



פעולות:

הוצאה מהתור - kick
הפעולה היא - kick
הפרמטרים הנדרשים בנוסף



פרמטר
תיאור
סוג




moreData
ניתן לציין בפרמטר זה שלוחה להעברת המשתמש היוצא. הפרמטר רשות. כדי להעביר למשל לשלוחה 1 יש לציין: GOTO:/1
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


status
object
סטטוס פעולות, באופן שהkey הוא מזהה השיחה והvalue הוא הסטטוס.




דוגמא לתגובה מלאה:
{
    "responseStatus": "OK",
    "yAfastVersion": "6.6.20",
    "status": {
        "805c3b221d4b76bb53769aac9e2c57c1": "Call not found",
        "f6657b78a2f35d6d04dd203400828362": "OK"
    }
}


השהיית נציג / החזרת נציג לפעילות
בפעולת אלה לא צריך לשלוח callIds, אלא רק queuePath
הפעולה היא - pause - השהיית נציג
הפעולה היא - unpause - ביטול נציג מהשהייה
הפרמטרים הנדרשים בנוסף



פרמטר
תיאור
סוג




agent
שם הנציג. זהה לשם שמגיע ב GetQueueRealTime['members'][?]['agent']
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


[[topic:post-is-deleted]]


הפעלת קמפיין הנכנס לשלוחה במערכת
השירות מאפשר להפעיל קמפיין לרשימת מספרים - שבעת המענה לשיחה השיחה תיכנס למערכת לשלוחה מסויימת.
הפקודה היא - CallExtensionBridging
הפרמטרים הנדרשים



פרמטר
תיאור
סוג




token
טוקן
string


phones
רשימת מספרים. ראה להלן צורות תמיכה ברשימת מספרים
string / json


ivrPath
שלוחה במערכת, למשל: ivr2:/1/100 - יכניס לשלוחה 1/100
string


callerId
זיהוי שיחה יוצא, ברירת מחדל זיהוי של המערכת/רשימת התפוצה שנבחרה
string


callsTimeOut
זמן חיוג מקסימלי - בשניות, ברירת מחדל 30 שניות, מקסימום 35 שניות.
number



תמיכה בצורת רשימת מספרים:
פרמטר phones יכול להכיל רשימת מספרים בדומה לשירות RunTzintuk:

כאשר הפניה היא בGET או בPOST שהוא לא (Content-Type: application/json) יש 3  אפשריות:

רשימה מפורשת עם הפרדה של : בין מספר למספר
מספרים מתוך רשימת תפוצה קיימת על ידי ציון tpl:XX כשאשר במקום הXX יש לכתוב את מזהה רשימת התפוצה.
צינתוק לרשימת צינתוק חינמי (שימו לב הערה למטה בנוגע לאפשרויות שליחה לכמה רשימות צינתוקים חינמיים) על ידי ציון tzl:XX כאשר במקום XX יש לכתוב את מספר הרשימה במערכת.
כאשר הפניה היא json - ניתן גם לשלוח את רשימת המספרים כמערך:

{
    "phones": [
        "0510000",
        "0510001",
        "0510002",
        "0510003"
    ]
}

או כמערך עם אובייקטים לצורך ציון זיהוי יוצא ספציפי לכל מספר:
{
    "phones": [
        {
            "phone": "0511111",
            "callerId": "077313"
        },
        {
            "phone": "05111333",
            "callerId": "07731344"
        }
    ]
}

או על אותו הדרך עם קבוצות:
"phones": [
        {
            "phones": [
                "0511111",
                "051111221"
            ],
            "callerId": "077313"
        },
        {
            "phones": [
                "0511111999"
            ],
            "callerId": "077414"
        }
    ]


חיוב יחידות:
על כל מספר שנכנס לחיוג יש חיוב של 0.1 יחידות,
על כל שיחה שנענת, יש חיוב של יחידה לדקה, עם מינמום חיוב של 0.5 יחידות.
שימו לב, ניתן להפעיל בשירות זה קמפיין עם עד 500 מספרים.

מענה בעת הצלחה:



פרמטר
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


module
string
המודול של השלוחה שהשיחות יגיעו אילה
menu


callerId
string
זיהוי השיחה היוצאת
0770770770


callsCount
int
כמות מספרים שנכנסו לקמפיין
6


bilingPerCall
int
חיוב לכל שיחה (משוער)
1


errors
object
מערך של מספרים שלא נכנסות לחיוג ושגיאה
{ "0510001": "not Vaild", "0510002": "not Vaild", "0510003": "not Vaild" }


callsTimeout
int
זמן שיחה יוצאת כפי שנקלט
30


campaignId
string
מזהה קמפיין במערכת הקמפיינים
YA-1-0770770770-Yemot-1695290243349441


קבלת רישומים לחשבון SIP - SipGetContexts

הפקודה היא - SipGetContexts 
בכל פניה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string


accountNumber
ניתן לציין מספר חשבון sip, באם ריק, זה החשבון הראשון
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


contexts
array
טבלאת רישומים
מערך, יבואר מטה מבנה האובייקט



אובייקט במערך contexts
בעיקרון, לא אמור להיות יותר מרישום אחד פעיל.



מאפיין
סוג
הסבר
דוגמא




expiration_time
string
זמן התפוגה של הרישום, באם השלוחה שולח keep_alive - הזמן מתארך
2024-06-04 15:43:38


uri
string
הURI לחיוג בפועל לשיחה נכנסת
sip:0773137770@192.168.1.99:5060


user_agent
string
הפלטפורה שמחוברת
Yealink SIP-T29G


via_addr
string
ניתוב דרך. זה יכול להיות גם כתובת פנימית של השלוחה
192.168.1.110


via_port
string
ניתוב בפורט
5060


קבלת חשבונות הSIP במערכת בדגש על בדיקה אם הם רשומים - GetSipAccountsRegisteredStatus

הפקודה היא - GetSipAccountsRegisteredStatus 
בכל פניה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string



מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


accounts
array
טבלאת חשבונות
מערך, יבואר מטה מבנה האובייקט



אובייקט במערך accounts



מאפיין
סוג
הסבר
דוגמא




userName
string
שם המשתמש של החשבון
0773137770


createdDate
string
זמן יצירת החשבון
2021-06-26 23:00:00


registered
bool
האם רשום?
true


קבלת זיהויים מאושרים במערכת להוצאת שיחות/סמסים

הפקודה היא - GetApprovedCallerIDs
כל המספרים הם במבנה e164
בכל פניה יש לצרף:



פרמטר
תיאור
הערות




token
טוקן




מענה בעת הצלחה



מאפיין
סוג
תיאור
דוגמה




responseStatus
string
סטטוס הפעולה
OK


call
object
זיהויים לשיחות
יבואר מטה מבנה האובייקט


sms
object
זיהויים לשיחות
יבואר מטה מבנה האובייקט



אובייקט call



מאפיין
סוג
תיאור




mainDid
string
המספר הראשי של המערכת


secondaryDids
array
מערך מספרי משני


callerIds
array
מערך זיהויים מאושרים חיצוניים



אובייקט sms



מאפיין
סוג
תיאור




smsId
string
זיהוי הסמסים (אם יש זיהוי סמסים, זה אומר שסמסים יוצאים רק איתו, אם לא, ניתן לבחור בכל זיהוי שיחה גם לסמס)


allowText
bool
האם מאושר זיהויים טקסט


בדיקת זיהוי האם הוא מאושר לשימוש בשיחה/סמס

הפקודה היא - IsCallerIDApproved
בכל פניה יש לצרף:



פרמטר
תיאור
הערות




token
טוקן



callerId
זיהוי לבדיקה



serviceType
סוג שירות לבדיקה. ברירת מחדל שיחות
sms אוcall



מענה בעת הצלחה



מאפיין
סוג
תיאור
דוגמה




responseStatus
string
סטטוס הפעולה
OK


parsedCallerId
string
המספר כE164
+972773137770


isApproved
bool
האם מאושר



reason
string
סיבה
INVALID_CALLER = זיהוי לא תקין / SMS_ID = נעילת זיהוי סמסים / INCLUDE = רשימת מספרים מורשים


ניהול בקשות לשיחה חוזרת (מודול תור)

הפקודה היא - QueueCallBack
בכל פנייה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string


action
פעולה לביצוע
string




פעולות:
קבלת רשימת התורים
הפעולה היא - getQueues
מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמה




responseStatus
string
סטטוס הפעולה
OK


callbackList
array
רשימת התורים
[{...}]



דוגמת אובייקט של תור:



מאפיין
סוג
הסבר
דוגמה




id
integer
מזהה התור
110


path
string
השלוחה שבו הלקוח נרשם
"/1"


queue_path
string
שלוחת התור
"/1"


caller_id
string
זיהוי לשיחה היוצאת
0773137770


callback_times
string
זמני התור
weekDay=1-5&monthDay=&month=&year=*&time=09:15-16:30&open=true


max_waiting_time
integer
זמן מקסימלי לחכות בתור (בדקות)
120


max_waiting_customers
integer
מספר הלקוחות המרבי בתור
1


waiting_customers
integer
מספר הלקוחות הממתינים כעת בתור
0


open
boolean
אם התור פתוח או לא
1





קבלת רשימת השיחות הממתינות לשיחה חוזרת
הפעולה היא - getList
פרמטרים נדרשים:



פרמטר
תיאור
סוג




id
מזהה התור
integer



מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמה




responseStatus
string
סטטוס הפעולה
OK


callbackList
array
רשימת השיחות הממתינות
[{...}]



דוגמת אובייקט של שיחה:



מאפיין
סוג
הסבר
דוגמה




id
integer
מזהה השיחה
84299


calling_number
string
מספר המתקשר
"0533137770"


status
string
סטטוס השיחה
"waiting"


date_time
string
תאריך ושעת השיחה
"2025-05-14T14:37:11.000Z"


attempts
integer
מספר הניסיונות לבצע שיחה חוזרת
0


last_attempt
string
מועד הניסיון האחרון
null




מחיקת שיחה
הפעולה היא - removeNumber
פרמטרים נדרשים:



פרמטר
תיאור
סוג




id
מזהה השיחה
integer



מענה בעת הצלחה:



מאפיין
סוג
הסבר
דוגמה




responseStatus
string
סטטוס הפעולה
OK


callbackList
string
הודעת הצלחה
OK


קבלת הסמסים שהתקבלו למערכת

הפקודה היא - GetIncomingSms
בכל פניה יש לצרף:



פרמטר
תיאור
הערות




token
טוקן



limit
הגבלת תוצאות
ברירת מחדל 100 תוצאות. מקסימום 3000.


startDate
מתאריך
למשל: 2025-06-01 19:48:01


endDate
עד תאריך
למשל: 2025-06-03 00:00:00



מענה בעת הצלחה



מאפיין
סוג
תיאור
דוגמה




responseStatus
string
סטטוס הפעולה
OK


rows
array
מערך סמסים שהתקבלו
יבואר מטה



מבנה סמס במערך rows



מאפיין
סוג
תיאור
דוגמה




source
string
מקור
972773137770


destination
string
יעד
972773137770


message
string
תוכן ההודעה
הודעת בדיקה


receive_date
string
תאריך קבלת ההודעה
2025-06-03 19:58:03


ניהול/ביצוע אימות דו-שלבי

הפקודה היא - MFASession
השירות מאפשר לנהל כמה חלקים שקשורים לאימות הדו-שלבי, לבצע אימות דו שלבי בחיבור הנוכחי, לנהל שיטות התחברות, ועוד.
בכל פניה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string


action
פעולה לביצוע
string



שימו לב: לא כל הפעולות אפשריות בכל שלב. יבואר בכל פעולה השלב שניתן לפנות אליה.
פעולות:

בדיקת האם הסשן עבר אימות דו-שלבי - isPass
הפעולה היא - isPass
כל סשן חייב להיות במצב ״pass״ של מנגנון האימות הדו-שלבי, אחרת עליו לבצע אימות דו-שלבי בפועל - לפני היכולת להשתמש עם כל שירות אחר בAPI. כאשר סשן לא עבר אימות דו שלבי - הוא יכול לגשת רק לשירות MFASession - וגם בו - לחלקים מסויימים. הדברים יבוארו בהמשך.

דרישה מקדימה לשימוש בשירות זה: אין.
מצב שבו השירות לא זמין: אין.
פירוט מענה:



מאפיין
סוג
הסבר
דוגמא
הערה




responseStatus
string
סטטוס הפעולה
OK



isAvailable
boolean
האם יש יכולת לבצע אימות דו-שלבי - מבחינת שיש שיטות אימות זמינות.
true
כאשר סשן לא עבר אימות - ואין אפשרות טכנית לאמת אותו - לא ניתן לבצע שום פעולות.


isPass
boolean
האם הסשן עבר אימות בהצלחה
true 
לאחר שהסשן אומת - ישנם פעולות שלא ניתן לבצע בגלל זה, אבל ניתן להשתמש בסשן לטובת גישה לכל השירותים (שלא דורשים אימות קשיח - יבואר בהמשך).


passReason
string
סיבת מעבר מנגנון האימות הדו שלבי.
MFA_PASSED 
ישנם הרבה סיבות למה הסשן עבר את מנגנון האימות הדו שלבי - ניתן לראות בטבלא את הסיבות האפשריות.


isPassInThisSession
boolean
האם הסשן עבר אימות בפועל בחיבור הנוכחי (אימות קשיח)
true 
בהמשך לפרמטר מעלה - ישנם מצבים שבו הסשן ״עבר״ את מנגנון האימות הדו-שלבי - בגלל סיבות ש״פוטרות״ אותו מהצורך לבצע אימות דו שלבי בפועל - אבל לא בוצע ממש באותו הסשן אימות דו-שלבי. ישנם פעולות שדורשות ״אימות קשיח״ = רמה חזקה יותר של אימות - וזה דורש שיבוצע אימות דו-שלבי ממש באותו החיבור ממנו רוצים לגשת לשירותים האלה.



פירוט סיבות מעבר אימות:
כאמור, יש הבדל בין ״מעבר במנגון האימות הדו-שלבי״ לבין ״ביצוע אימות דו שלבי בפועל״.
בטבלא זו ניתן לראות פירוט של סוגי הסיבות שניתן לעבור בגינם במנגנון האימות - את הפירוט שלהם.



סיבת מעבר
הסבר
הערה




INACTIVE_SYSTEM
מנוע האימות הדו שלבי לא פעיל או לא זמין



WAIT_TO_BLOCK_DATE
תאריך אכיפת השירות לא הגיע
במצב שבו מגדירים זמן מסויים ממנו חובה לעבור אימות דו שלבי - כל עוד הזמן לא הגיע - כל הסשנים עוברים ״בהצלחה״ במנגנון - כי תאריך אכיפת השירות לא הגיע.


INIT_WHITELIST_IPS
כתובת IP ברשימה לבנה
כתובת הIP שממנה בוצעה הבקשה למעבר - קיבלה אישור כי היא נמצאת ברשימה הלבנה.


INIT_MASTER_LOGIN_WHITELIST_IPS
כתובת IP ברשימה לבנה בהתחברות מאסטר
כתובת הIP שממנה בוצעה הבקשה למעבר - קיבלה אישור כי היא נמצאת ברשימה הלבנה כאשר מתבצע התחברות עם סיסמת מאסטר של ריסיילר.


HAVE_ACTIVE_TRUST_TOKEN
בוצע מעבר על ידי אסימון ״זכור אותי״



INHERITED_FROM_ORIGINAL_SESSION
ירושה מסשן קודם כל שהוא
למשל, בעת מעבר מהאתר ניהול הרגיל לממשק חיצוני - נוצר טוקן API שסיבת המעבר שלו היא שכבר בוצע מעבר בסשן קודם.


MFA_PASSED
בוצע אימות בפועל בחיבור הנוכחי
אין להסתמך על הסיבה בלבד בנושא ״אימות קשיח״ - אלא להסתמך על isPassInThisSession


SPECIAL_VALID_TOKEN
טוקן שנוצר עם פטור מאימות מסיבה מיוחדת





ניסיון ביצוע אימות - try
הפעולה היא - try
הפעולה של מעבר אימות דו-שלבי בסשן מתבצעת פעם אחת - עד לסימון הסשן כסשן שעבר את המנגנון. כאשר סשן לא עבר אימות - ניתן לפנות לשירות זה על מנת לנסות להעביר אותו. למשל, אם הפניה תגיע מכתובת IP מאושרת, או עם אסימון ״זכור אותי״ - הסשן יעבור אימות.

דרישה מקדימה לשימוש בשירות זה: אין.
מצב שבו השירות לא זמין: לאחר מעבר שקיבל החלטת ״עבר״ (isPass: true).
פירוט מענה (מענה זהה ל isPass - רק שהנתונים יהיו לאחר ביצוע ניסיון אימות):
ניסיונות מרובים לבצע מעבר ב try שלא יצליחו - כלומר שלא יהיה מעבר בהם - יובילו לחסימת המערכת כולה לעבור אימות דו שלבי.
כל מערכת זכאית למספר מסויים של מעברים בדקה/שעה/יום וכו. מערכת שצריכה לעבור יותר מידי הרבה פעמים במנגנון - כלומר - מערכת שיוצרת יותר מידיי הרבה סשנים בפרק זמן קצר מידיי - תחסם מלעבור במנגנון ולא תוכל להשתמש בסשנים חדשים שנוצרים.

קבלת שיטות אימות זמינות - getMFAMethods
הפעולה היא - getMFAMethods
פעולה זו יכולה להחזיר נתונים שונים לפני ואחרי ביצוע אימות קשיח.

דרישה מקדימה לשימוש בשירות זה: אין.
מצב שבו השירות לא זמין: אין.
פירוט מענה:
מענה זהה ל isPass - בתוספת מערךmfaMethods עם שיטות האימות הזמינות. להלן פירוט של אובייקט מתוך המערך:



מאפיין
סוג
הסבר
דוגמא
הערה




ID
int
מזהה שיטה
1 
מזהה השיטה אינו קבוע - ונבנה בצורה דינמית בעת הבקשה. צריך לפנות איתו בשביל לבצע אימות - אבל אי אפשר להתסמך לאורך זמן שהוא יהיה אותו הדבר.


STATUS
string
סטטוס שיטת האימות
ACTIVE 
שיטה יכולה להיות ACTIVE = פעילה, או PENDING = ממתינה. שיטה ממתינה לאימות לא יכולה לשמש לטובת ביצוע אימות קשיח. יש לאמת אותה קודם.


MFA_METHOD_ID
int
מזהה שיטה קבוע
6598 
בניגוד לשדה ID - מזהה השיטה שפה הוא קבוע, אבל זה אומר שהוא נוסף בצורה יזומה - ולא מוצע בצורה אוטמאטית, ויתכן שיהיה ריק.


NIKE
string
תיאור מקור שיטת האימות
RESET_MAIL 
יכול להיות: CREATE_PHONE = המספר שיצר את המערכת. RESET_MAIL המייל לשחזור. PROFILE הגיע מהפרופיל הקבוע. MASTER_LOGIN הגיע מהתחברות מאסטר של ריסיילר. BY_CUSTOMER נוסף על ידי הלקוח.


NOTE
string
תיאור חופשי שנכתב בעת הוספת השיטה
הטלפון בבית



SEND_TYPE
סוגי שליחות אפשריות
מערך של שיטות שליחת אימות אפשריות
["CALL","SMS"] 
יכול להיות: CALL = בשיחה. SMS בהודעת סמס. EMAIL  בהודעה למייל. ישנם שיטות שלא יהיה אפשרי לשלוח עבורם בצורה יזומה אימות, והמערך עבורם יהיה ריק.


VALUE
string
היעד של השיטה
+972773137770 
כאשר לא בוצע אימות קשיח - היעד לא יוצג במלואו ויראה למשל: shmu•••@•••.co.il כאשר מספר ה• אינם משקפות את האורך האמיתי של הערך.


EXPIRED_DATE
string
זמן תפוגת השיטה
2025-09-28 12:11:38
שיטות שפגו תוקף - לא יוצגו אחרי זה בכלל, ויש להוסיף ולאמת אותם מחדש.


LAST_USED
string
הזמן האחרון שהשיטה אומתה בהצלחה
2025-09-28 12:11:38
שיטות שלא יבצעו אימות הרבה זמן - יתכן ולא יהיה זמינות בפועל או יוסרו.




שליחת אימות לטובת אימות קשיח/מעבר - sendMFA
הפעולה היא - sendMFA
שליחת אימות יכולה להיות רלוונטית כאשר רוצים לבצע אימות קשיח בסשן שעבר את המנגנון - או במקרה שהסשן לא עבר try וחייב לבצע אימות.

דרישה מקדימה לשימוש בשירות זה: אין.
מצב שבו השירות לא זמין: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר




mfaId
מזהה שיטת האימות אליה רוצים לשלוח אימות
int



mfaSendType
סוג האימות הרצוי - מתוך SEND_TYPE
string



lang
שפת שליחת האימות.
string
HE או EN. ברירת מחדל ישלח בעברית.


autoOtpHostname
כתובת ה HOST_NAME שנמצאים בו לטובת הוספה שלו בסמס
string
מאפשר להשתמש עם OTPCredential בצד לקוח. רשות.



פירוט מענה:
כאשר responseStatus הוא OK השיחה/סמס/מייל - נשלחו.
כל שליחה חוזרת - תיצור קוד חדש - ותבטל את הקוד הקודם.
לכל סשן יש בקשת אימות ממתינה אחד בלבד.
שליחות רבות עלולות לחסום את המערכת ו/או את כתובת הIP מלשלוח לזמנים ארוכים מאד. בעת חסימה יופיע בפירוט הזמן שיש להמתין:
{
    responseStatus: "Exception",
    message: "exception send by customer. wait 55s",
    file: "CustomerMFA.class.ym",
    Line: "590:19",
    yAfastVersion: "6.7.30"
}

כאשר בדוגמא מופיע wait 55s - 55 שניות.
כאמור, הזמן יכול לעלות למספרים גבוהים מאד באם מתבצעים נסיונות רבים.

ביצוע אימות בפועל לאחר שליחת אימות - validMFA
הפעולה היא - validMFA

דרישה מקדימה לשימוש בשירות זה: אין.
מצב שבו השירות לא זמין: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הערה




mfaCode
קוד האימות שהתקבל
string



mfaRememberMe
יצירת אסימון ״זכור אותי״ בעת הצלחה
boolean
אסימון ״זכור אותי״ שנוצר ב API ייצור רק אסימון מסוג IP.


mfaRememberNote
תיאור לאסימון ״זכור אותי״ החדש.
string




פירוט מענה:



מאפיין
סוג
הסבר
דוגמא
הערה




responseStatus
string
סטטוס הפעולה
OK



mfa_valid_status
string
האם בוצע אימות.
VALID 
יכול להיות UNVALIDאו VALID , או OVERTRY - שאומר שיש צורך לשלוח אימות חדש- כי עברו מספר הנסיונות האפשריים.


mfa_valid_trys
int
כמות הפעמים שבוצע ניסיון אימות קוד
1 



mfa_valid_left
int
כמות הפעמים שנשארו לבצע ניסיון אימות לפני שהקוד לא רלוונטי
4 



mfa_valid_message
string
הסבר מיוחד מדוע הקוד לא אומת.
validMFA not allow. over trys attempt 





הוספת שיטת אימות חדשה - addMethod
הפעולה היא - addMethod

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
אופציות




mfaNewType
סוג שיטה
string
מייל - EMAIL או טלפון - PHONE


mtaNewValue
הערך של השיטה החדשה
string
המייל או הטלפון.


mtaNewValidNote
תיאור של השיטה החדשה
string
למטרות נוחות בלבד. לא חובה.


newExpiredDate
זמן תפוגה של השיטה
string
תאריך תפוגה בתבנית YYYY-MM-DD HH:mm:ss.



שימו לב:

ניתן להוסיף עד 20 שיטות אימות
ניתן להוסיף מספרי טלפון של המדינות הבאות: ישראל, ארה״ב, קנדה.

פירוט מענה:
כאשר responseStatus הוא OK השיטה נוספה כממתינה לאימות, כאשר בפרמטר methodId מצויין מזהה השיטה לטובת האימות שלה/מחיקה שלה בעתיד.

אימות או שליחת אימות חוזר של שיטת אימות חדשה - reValidMethod
הפעולה היא - reValidMethod

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר נוסף




mfaId
מזהה שיטת האימות
string
מתקבל כתגובה אחרי היצירה בפרמטר methodId, או בפרמטר MFA_METHOD_ID בפעולה getMFAMethods בתוך מערך mfaMethods כמו שהוסבר למעלה.


mfaSendType
סוג האימות הרצוי - מתוך SEND_TYPE
string



lang
שפת שליחת האימות.
string
HE או EN. ברירת מחדל ישלח בעברית.


autoOtpHostname
כתובת ה HOST_NAME שנמצאים בו לטובת הוספה שלו בסמס
string
מאפשר להשתמש עם OTPCredential בצד לקוח. רשות.



פירוט מענה:
כאשר responseStatus הוא OK הקוד לאימות נשלח.

ביצוע אימות של שיטה חדשה לאחר שליחת אימות - validMethod
הפעולה היא - validMethod

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר נוסף




mfaId
מזהה שיטת האימות
string
מתקבל כתגובה אחרי היצירה בפרמטר methodId, או בפרמטר MFA_METHOD_ID בפעולה getMFAMethods בתוך מערך mfaMethods כמו שהוסבר למעלה.


mfaCode
קוד האימות שהתקבל
string




פירוט מענה:
זהה לתגובת בקשה אימות בפועל - validMFA.

מחיקת שיטת אימות - deleteMethod
הפעולה היא - deleteMethod

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
ניתן למחוק שיטות פעילות או ממתינות לאימות, אך לא ניתן למחוק שיטות שמגיעות מהפרופיל/רייסילר/מספר שפתח וכו.
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר נוסף




mfaId
מזהה שיטת האימות
string
מתקבל כתגובה אחרי היצירה בפרמטר methodId, או בפרמטר MFA_METHOD_ID בפעולה getMFAMethods בתוך מערך mfaMethods כמו שהוסבר למעלה.



פירוט מענה:
כאשר responseStatus הוא OK השיטה נמחקה.

קבלת אסימוני ״זכור אותי״ פעילים - getMFATrustTokens
הפעולה היא - getMFATrustTokens

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
פירוט מענה:
בפרמטר trustTokens יש מערך אסימונים, להלן המבנה:



מאפיין
סוג
הסבר
דוגמא
הערה




id
int
מזהה אסימון
1
משמש לטובת מחיקתו


trust_key_type
string
סוג אסימון
YM_CALL2ALL_WEBSITE 
יכול להיות או YM_CALL2ALL_WEBSITE אסימון אימות של אתר הניהול. או CUSTOMER_IP אסימון כתובת IP.


create_by
string
נוצר על ידי
192.168.1.1



create_date
string
זמן יצירה
2025-09-28 21:56:52



update_by
string
עודכן על ידי
192.168.1.1
עדכון אסימון מתבצע כאשר מסמנים ״זכור אותי״ עם אסימון שכבר שמור.


update_date
string
זמן עדכון
null



last_use
string
זמן שימוש בפועל
null
כאשר מתבצע שימוש באסימון - ומעבר של המנוע בגללו - הזמן מתעדכן.


trust_note
string
הערת האסימון מזמן היצירה
המחשב שלי
פרמטר mfaRememberNote בבקשת validMFA.




מחיקת אסימון ״זכור אותי״ - deleteTrustToken
הפעולה היא - deleteTrustToken

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר נוסף




trustTokenId
מזהה האסימון
string
מתקבל בid בבקשת getMFATrustTokens.



פירוט מענה:
כאשר responseStatus הוא OK האסימון נמחקה.

קבלת כתובות IP לבנות - getMFATrustIps
הפעולה היא - getMFATrustIps

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
פירוט מענה:
בערך trustIps מערך כתובות IP לבנות.

שמירת כתובות IP לבנות - setMFATrustIps
הפעולה היא - setMFATrustIps

דרישה מקדימה לשימוש בשירות זה: לאחר ביצוע אימות קשיח (isPassInThisSession: true).
מצב שבו השירות לא זמין: אין
שימו לב: ניתן להוסיף עד 50 כתובות.
כתובת IP לבנה תעבור MFA עם סיבה INIT_WHITELIST_IPS כפי שהוסבר למעלה.
כתובת IP לבנה עדיין תצטרך לבצע אימות קשיח בשביל לקבל isPassInThisSession: true לטובת ביצוע פעולות רגישות.
ניתן להוסיף כתובות IPv4 או IPv6.
בכל פניה יש לצרף:



פרמטר
תיאור
סוג
הסבר נוסף




trustIps
רשימת כתובות IP
string/array
כאשר שולחים string ההפרדה תיהיה בין שורה לשורה. בשליחה מערך כל איבר זה כתובת.



פירוט מענה:



מאפיין
סוג
הסבר
דוגמא
הערה




responseStatus
string
סטטוס הפעולה
OK



okCount
int
מספר הכתובות שנוספו בהצלחה
1 



save
boolean
האם בוצע שינוי בפועל
true 
יהיה false אם הרשימה לא השתנתה.


valid_new_list
array
מערך הכתובות החדש




errors
array
מערך שגיאות
[ "ip: 0.192.66.2222 is not valid" ]


מוניטור SIP בזמן אמת - מערכת SiP_panel

שימו לב, שירות זה דורש רישיון פעיל (חבילה בתשלום מול שירות הלקוחות, או התנסות). ניתן לבדוק את מצב הרישיון גם ללא רישיון באמצעות getLicenseInfo.

הפקודה היא - SipRealtimeMonitor
ניתן לקרוא לשירות ב-GET (פרמטרים ב-query string) או ב-POST עם JSON ב-body.
מתי חובה להשתמש ב-POST:

כשמועבר פרמטר accounts (מערך)
כשמועבר אחד מהפרמטרים: startDateTime, endDateTime, afterCallId

בכל פניה יש לצרף:



פרמטר
תיאור
סוג




token
טוקן
string


action
הפעולה לביצוע - יבואר
string



פעולות:

קבלת מצב הרישיון - getLicenseInfo
הפעולה היא - getLicenseInfo
מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


license.allowed
boolean
האם יש גישה לשירות
true


license.trial
boolean
האם זהו רישיון ניסיון
true


license.trialStart
number
Unix timestamp של תחילת הניסיון
1779705344


license.trialEnd
number
Unix timestamp של סיום הניסיון
1780310144


license.trialAvailable
boolean
האם ניסיון זמין להפעלה
false



דוגמא לתגובה כאשר השירות בניסון פעיל:
{
"responseStatus": "OK",
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}
דוגמא לתגובה - אין רישיון, ניסיון זמין:
{
"responseStatus": "OK",
"license": {
"allowed": false,
"reason": "no_license",
"trialAvailable": true
}
}

הפעלת ניסיון חינם - startTrial
הפעולה היא - startTrial
מפעיל ניסיון חינם של 7 ימים. ניתן לבצע את הפעולה בכל מערכת פעם אחת בלבד!.
מענה בעת הצלחה



מאפיין
סוג
הסבר
דוגמא




responseStatus
string
סטטוס הפעולה
OK


trialStarted
boolean
האם הניסיון הופעל כעת
true


alreadyLicensed
boolean
האם כבר היה רישיון פעיל
true


license
object
פרטי הרישיון לאחר הפעלה




{
"responseStatus": "OK",
"trialStarted": true,
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}


קבלת שיחות - getCalls
הפעולה היא - getCalls
שירות זה דורש רישיון פעיל.
הפרמטרים הנדרשים בנוסף (אופציונליים):



פרמטר
תיאור
סוג
ברירת מחדל




includeEnded
כלול שיחות שהסתיימו (ended[]) בתגובה לצד הפעילות
0 או 1
0


onlyEnded
החזר רק שיחות שהסתיימו, ללא שיחות פעילות
0 או 1
0


endedLimit
מגבלת מספר שיחות שהסתיימו להחזיר (החדשות ביותר לפי זמן ניתוק)
number
30


accounts
מערך חשבונות לסינון - רק חשבונות אלו יוחזרו. מצריך POST
string[]
ללא סינון


startDateTime
סינון שיחות שהסתיימו - החזר רק שיחות שניתקו אחרי תאריך/שעה זה. מצריך POST
string / number
ללא סינון


endDateTime
סינון שיחות שהסתיימו - החזר רק שיחות שניתקו לפני תאריך/שעה זה. מצריך POST
string / number
ללא סינון


afterCallId
החזר רק שיחות שניתקו אחרי שיחה זו (לפי זמן ניתוקה). שימושי לspolling יעיל - ראה הרחבה למטה. מצריך POST
string
ללא



פרמטר startDateTime / endDateTime - פורמטים תקינים:



פורמט
דוגמא




תאריך ושעה (רווח)
"2026-06-21 08:00:00"


ISO 8601
"2026-06-21T08:00:00"


ISO 8601 עם UTC
"2026-06-21T08:00:00Z"


Unix timestamp (שניות)
1750489200


Unix timestamp (מילישניות)
1750489200000



פרמטר afterCallId:
מיועד לשימוש בסקריפטים שמבצעים שליפה כל הזמן, ואז במקום לשלוף בכל פעם את כל הרשימה, מעבירים את ה-id של השיחה האחרונה שקיבלתם - והשרת מחזיר רק שיחות שניתקו אחריה.
אם ה-id כבר פג תוקף (20 דקות) - אין לי דרך לדעת מאיזה שיחה אתם רוצים ותקבלו את כל הרשימה עד endedLimit.
מענה בעת הצלחה



מאפיין
סוג
הסבר




responseStatus
string
סטטוס הפעולה


summary
object
סיכום מצטבר מכלל החשבונות שנבחרו


accounts
object
המפתח הוא שם החשבון, הערך הוא נתוני החשבון


license
object
מצורף רק כשהרישיון הוא רישיון התנסות



מבנה summary:



מאפיין
סוג
הסבר




totalActive
number
סה"כ שיחות פעילות כרגע


dialing
number
שיחות במצב חיוג


inCall
number
שיחות בשיחה ממש


totalCalls
number
סה"כ שיחות (סטטיסטיקה שבועית)


totalIncoming
number
סה"כ נכנסות


totalOutgoing
number
סה"כ יוצאות


totalAnswered
number
סה"כ נענו


totalMissed
number
סה"כ לא נענו


totalAnsweredIncoming
number
נענו נכנסות


totalAnsweredOutgoing
number
נענו יוצאות


totalMissedIncoming
number
לא נענו נכנסות


totalMissedOutgoing
number
לא נענו יוצאות


totalTalkTimeSeconds
number
סה"כ זמן שיחה בשניות


totalRecorded
number
סה"כ שיחות שהוקלטו



מבנה כל חשבון ב-accounts:



מאפיין
סוג
הסבר




summary
object
סטטיסטיקות החשבון (אותם שדות כמו summary הכללי)


calls
array
שיחות פעילות כרגע


ended
array
שיחות שהסתיימו (רק אם includeEnded=1 או onlyEnded=1)


extensionClass
string|null
קוד איזור השלוחה של החשבון (נכון לזמן הקריאה). null אם אין, או אם החשבון כבר נמחק.


extensionNote
string|null
תיאור השלוחה של החשבון (נכון לזמן הקריאה). null אם אין.




extensionClass הוא הקוד הגולמי. שם התצוגה (התרגום) נשמר בהגדרות (SipAccountsSettings) וצריך להיות מיושם, ככל שתרצו, בצד הלקוח / היישום שלכם.

מבנה שיחה (calls / ended):



מאפיין
סוג
הסבר
דוגמא




id
string
מזהה שיחה ייעודי
"xSP-3f2a1b4c-..."


account
string
שם חשבון ה-SIP
"06558877=2"


callType
string
סוג שיחה
"IN" / "OUT"


source
string
מספר מקור
"050000000"


destination
string
מספר יעד
"0773133333=2"


startTime
number
Unix timestamp - תחילת השיחה
1779710278


answeredTime
number|null
Unix timestamp - מענה (null אם לא נענה)
1779710282


endTime
number|null
Unix timestamp - ניתוק (null אם עדיין פעיל)
null


status
string
מצב השיחה
"dialing" / "in_call" / "ended"


hasRecord
boolean
האם יש הקלטה
true


recordPath
string|null
נתיב ההקלטה
"ivr2://Trash/SIPRecord/DID-..."


history
array
רצף אירועי השיחה




מבנה history event:



מאפיין
סוג
הסבר
דוגמא




event
string
סוג האירוע
"start" / "answer" / "transfer" / "end"


time
number
Unix timestamp
1779710278


to
string
יעד ההעברה (רק באירוע transfer)
"05200000"



דוגמא לתגובה מלאה:
{
"responseStatus": "OK",
"summary": {
"totalActive": 2,
"dialing": 1,
"inCall": 1,
"totalCalls": 4395,
"totalAnswered": 219,
"totalMissed": 4176,
"totalIncoming": 4380,
"totalOutgoing": 15,
"totalAnsweredIncoming": 211,
"totalAnsweredOutgoing": 8,
"totalMissedIncoming": 4169,
"totalMissedOutgoing": 7,
"totalTalkTimeSeconds": 13515,
"totalRecorded": 16
},
"accounts": {
"0888888888=2": {
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalAnsweredIncoming": 7,
"totalAnsweredOutgoing": 1,
"totalMissedIncoming": 240,
"totalMissedOutgoing": 2,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [
{
"id": "xSP-3f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"account": "0888888888=2",
"callType": "IN",
"source": "050000000",
"destination": "0888888888=2",
"startTime": 1779710278,
"answeredTime": 1779710282,
"endTime": null,
"status": "in_call",
"hasRecord": true,
"recordPath": "ivr2://Trash/SIPRecord/DID-xxxx-Phone-xxxx-routing-0888888888=2-Date-2026-05-25-19-00-00.wav",
"history": [
{ "event": "start",    "time": 1779710278 },
{ "event": "answer",   "time": 1779710282 },
{ "event": "transfer", "time": 1779710290, "to": "079999999" }
]
}
],
"ended": [
{
"id": "xSP-7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
"account": "0888888888=2",
"callType": "IN",
"source": "052111111",
"destination": "0888888888=2",
"startTime": 1779709000,
"answeredTime": null,
"endTime": 1779709045,
"status": "ended",
"hasRecord": false,
"recordPath": null,
"history": [
{ "event": "start", "time": 1779709000 },
{ "event": "end",   "time": 1779709045 }
]
}
]
}
}
}

קבלת שיחות לחשבון ספציפי - getCallsByAccount
הפעולה היא - getCallsByAccount
שירות זה דורש רישיון פעיל.
הפרמטרים:



פרמטר
תיאור
סוג
חובה




account
שם חשבון ה-SIP
string
כן


includeEnded
כלול שיחות שהסתיימו (ended[])
0 או 1
לא (ברירת מחדל: 0)


startDateTime
סינון שיחות שהסתיימו - החזר רק שיחות שניתקו אחרי תאריך/שעה זה. מצריך POST
string / number
לא


endDateTime
סינון שיחות שהסתיימו - החזר רק שיחות שניתקו לפני תאריך/שעה זה. מצריך POST
string / number
לא


afterCallId
החזר רק שיחות שניתקו אחרי שיחה זו. מצריך POST
string
לא



ראה הסבר מפורט על הפרמטרים startDateTime, endDateTime, afterCallId בסעיף getCalls למעלה - ההתנהגות זהה.
מענה בעת הצלחה



מאפיין
סוג
הסבר




responseStatus
string
סטטוס הפעולה


account
string
שם החשבון שנשאל


summary
object
סטטיסטיקות החשבון


calls
array
שיחות פעילות


ended
array
שיחות שהסתיימו (רק אם includeEnded=1)


extensionClass
string|null
קוד איזור השלוחה של החשבון (נכון לזמן הקריאה). null אם אין, או אם החשבון כבר נמחק.


extensionNote
string|null
תיאור השלוחה של החשבון (נכון לזמן הקריאה). null אם אין.



{
"responseStatus": "OK",
"account": "09948949494=2",
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalAnsweredIncoming": 7,
"totalAnsweredOutgoing": 1,
"totalMissedIncoming": 240,
"totalMissedOutgoing": 2,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [],
"ended": []
}

שימו לב:
השירות מיועד לקבל מידע בזמן אמת על מצב חשבונות ה-SIP במערכת - ועל כן כל הנתונים לא נשמרים לטווח ארוך.
נכון לכתיבת שורות אלה - אלה פחות או יותר הזמנים שנשמרים הנתונים לאחר שהם כבר לא ״זמן אמת״:



נתון
זמן שמירה




שיחה בחיוג (dialing)
5 דקות - פג תוקף אוטומטית אם לא נענתה


שיחה פעילה (in_call)
עד 2.5 שעות מרגע המענה


שיחה שהסתיימה
20 דקות


סטטיסטיקות
7 ימים



שיחות שמועברות: כל העברה מתועדת כ-event מסוג transfer ב-history עם שדה to המכיל את מספר היעד, אבל לא יוצרת שיחה חדשה או מזהה שיחה ייחודי.
מזהי שיחה - id: המזהה נוצר בעת תחילת השיחה ונשמר, כולל אחרי ניתוק, עד פקיעת התוקף של 20 דקות. קיימים שני סוגים:

xSP-{uuid} - מזהה שנוצר על ידי השרת
xCP-{uuid} - מזהה שסופק על ידי הלקוח בכותרת X-YemotSiPanel-NewCallID בINVITE של השיחת SIP.

